2017-08-04 77 views
1

我正在嘗試查找文件中字符串的出現次數,但該文件充滿了用Unicode字符編寫的句子。Unicode字符無法在preg_match_all中工作

function probability($next,$now){ 
      $text_file = file_get_contents("temp/train_set.txt"); 
      $ans = preg_match_all("/\b$now $next\b/i", $text_file); 
      echo $ans."<br>"; 
} 

$ text_file變量找到所有的句子和打印Unicode的句子就好了(我用的回聲親眼目睹)。

$現在$下一是兩個Unicode strings.like $現在= 「আমি」 和$未來= 「ভাত」。然後結果是,但我有兩個字符串在我的文件中。

但是每當我把$ now和$ next兩個英文字符串。它爲我提供了實際的計數。每當我將Unicode字放入$ now和$ next時,就會出現問題。我不知道也許我的問題應該像'如何使preg_match_all支持孟加拉語unicode字符'

問我是否有任何問題。

謝謝

回答

0

使用/u標誌(Unicode)的:

$ans = preg_match_all("/\b$now $next\b/ui", $text_file); 
//        here __^ 
+0

謝謝,但現在也有混合詞的另一個問題。如英文=「START」和「END」以及孟加拉語Unicode「আমি」和「খাই」。現在如果我放這樣的「আমিখাই」或「খাইEND」 - >確定。但「開始আমি」 - >「不行」。我的意思是如果我在開始時加上英文字母,它根本不算。 –

+0

@NahidHossain:刪除單詞界限'\ b' – Toto