2017-02-22 22 views
0

mb_ereg()が正しく動作していません。ワード(=が「هناك」)は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 : ناك 

この方法のような他の多くの状況がありますが、どのような解決策ですか?例えば

+0

私は問題は、ファイルのエンコーディングであり、 機能は私と罰金うまくいくと思う、 :https://3v4l.org/lUKn8 – hassan

+0

あなたは男です、それは実際にエンコーディングについてではなく、phpのバージョンについては、私は5.6にそれを変更すると、PHP v5.3.0を持っているサーバー上でうまく動作しています。 5時間以上のテスト/検索と運がありますので、ありがとうございます –

答えて

0

代わりmb_ereg機能の使用preg_match

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

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

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

echo $text[0]; 
+0

いいえ、この場合の出力は空でなければなりません。なぜなら、単語= 'ناك'、別の 'هناك' 。 –

+0

هناكにはناكisnotという単語が含まれています –

関連する問題