我的字符串是外語。我使用以下正則表達式:我修飾符不適用於外語?
$str = 'մի քանի Բառ ձեր մասին';
$word = 'բառ';
$cont = preg_match_all("/.{0,80}[^\s]*?".preg_quote($word)."[^\s]*?.{0,80}/si",$str,$matched);
print_r($matched);//returns Array ([0] => Array ()) ..
。
...但如果我設置:
$word = "Բառ";//returns Array ([0] => Array ([0] => մի քանի Բառ ձեր մասին))
我能做些什麼,以便能夠使用我修改外語嗎?
這是什麼代碼的目的是什麼?你是否試圖從文本中提取單詞加周圍的單詞? – Gumbo 2010-08-24 09:54:23
@Gumbo。如果字符串中有子字,我會嘗試提取單詞和周圍的單詞。你怎麼看待這樣的解決方案? – Simon 2010-08-24 09:57:16
我寧願將文本分成單詞,找到包含或包含所需單詞的單詞,然後獲取周圍的單詞。或者,如果你想使用'preg_match_all',只需搜索想要的單詞並使用'PREG_OFFSET_CAPTURE'標誌來獲取'substr'的偏移量(參見http://stackoverflow.com/questions/3306513)。 – Gumbo 2010-08-24 10:09:21