2012-03-05 67 views
0

我試圖匹配希伯來語禁止單詞與希伯來語字符串在$_POST['content'],檢索從英文單詞(如果在希伯來語字符串中使用$_POST['content'])但希伯來語的話沒有運氣。你能幫我修改下面的代碼來搜索給定字符串中被禁止的希伯來單詞嗎?所有數據源都以UTF-8格式進行了檢查。preg_match_all完全匹配英文單詞但沒有希伯來語單詞的運氣

<? 

$banned_words=array(); 
while($loc=mysql_fetch_array($loc_query)) 
{ 
    $banned_words[$k]=stripslashes(utf8_decode($loc["sb_word"])); 
    $k=$k+1; 
} 

$matches = array(); 
$matchFound = preg_match_all(
    "/\b(" . implode($banned_words,"|") . ")\b/u", 
    $_POST['content'], 
    $matches 
    ); 

if ($matchFound) 
{ 
    $words = array_unique($matches[0]); 
    $word_status=1; 
    } 
?> 
+1

['implode'](http://php.net/implode)可以反過來工作。你需要首先給膠水字符,然後是數組變量。 – mario 2012-03-05 20:15:40

+2

@mario implode()由於歷史原因可以按任意順序接受其參數。然而,爲了與explode()保持一致,使用參數的記錄順序可能會更容易混淆。 – 2012-03-05 20:19:41

回答