2017-02-22 98 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 –