2017-02-22 21 views
0

mb_ereg()無法正常工作。php mb_ereg()無法正常工作寬阿拉伯語

$badword ="ناك"; // which mean F***. 

$TextToCheck = "في الكون هناك الكثير من الكواكب"; // In universe there's a lot of planets. 

mb_ereg("\b".$badword."\b", $TextToCheck, $text); 

echo $text[0]; // the output $text : ناك 

這意味着,這個詞(「هناك」 =有)被發現爲「ناك」,這意味着mb_ereg沒進去算第一個字母「ه」(ه)「」;

任何方式有這樣的許多其他情況,任何解決方案?的

+0

我認爲這個問題是您的文件編碼, 功能正常工作與我, 例如:https://3v4l.org/lUKn8 – hassan

+0

你是男人,這不是真正的編碼,但關於PHP版本,我有php v5.3.0,當我在服務器上更改爲5.6時工作得很好。 這是一個超過5小時的測試/搜索,沒有運氣,所以非常感謝你 –

回答

0

使用preg_match代替mb_ereg功能

$badword ="ناك"; // which mean ****. 

$TextToCheck = "في الكون هناك الكثير من الكواكب"; // In universe there's a lot of planets. 

preg_match("/".$badword."/", $TextToCheck, $text); 

echo $text[0]; 
+0

不,這是不正確的,因爲在這種情況下輸出應該是空的,因爲沒有詞='ناك',有一個不同的'هناك' 。 –

+0

هناك包含單詞ناكisnot it –