我不是一名鐵桿程序員,但我對編碼有一點了解。已棄用:函數ereg()in self built PHP webshop
但是我確實遇到了下面的代碼有問題。 此代碼用於後端表單以更改客戶設置。
public static function validate($array)
{
if (isset($array[ 'initialen' ]) && trim($array[ 'initialen' ]) != '')
{
$pattern = '([[:digit:]]|[~`[email protected]#$%^&*()_=+{}|\:;"/?,]|[|]|-)+';
if (ereg($pattern, $array['initialen']))
{
$errors[] = 'Initialen incorrect, alleen letters en punten';
}
else
{
$_SESSION['beheer']['klanten']['temp']['initialen'] = strtoupper($array[ 'initialen' ]);
}
}
else
{
$errors[] = 'Initialen niet ingevuld';
}
我得到的錯誤:
Deprecated: Function ereg() is deprecated in class_klanten.php on line 138
如果我更改爲:
if (ereg($pattern, $array['initialen']))
到
if (preg_match($pattern, $array['initialen']))
我得到以下錯誤:
Warning: preg_match() [function.preg-match]: Unknown modifier '+' in class_klanten.php on line 138
我該如何解決這個問題?
BR,
史蒂夫
嗨,大家好, 謝謝回答這麼快。 我得到了錯誤信息去其他的PHP文件,但我不明白如何設置在這段代碼中的分隔符: $ pattern ='([[:digit:]] | [〜'!@ #$%^&*()_ = + {} | \ :;「/ ?,] | [|] | - )+'; – Steve 2013-03-19 08:49:33
@Steve'$ pattern ='#([[:digit:]] | [〜'!@ \#$%^&*()_ = + {} | \:;「/ ?,] | [|] | - )+#';' – HamZa 2013-03-19 08:51:26