preg_match_all完全匹配英语单词,但希伯来语单词没有运气

时间:2012-03-05 20:12:15

标签: php mysql hebrew

我试图将从mysql db表中检索到的希伯来语禁用单词与$_POST['content']中的希伯来语字符串进行匹配,以获取英语单词(如果在希伯来语字符串$_POST['content']中使用),它给出了匹配但希伯来语言语没有运气。你能帮我修改下面的代码来搜索给定字符串中被禁止的希伯来语单词吗?所有数据源都以UTF-8格式进行了检查。

<?

$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 个答案:

答案 0 :(得分:1)

\b不支持unicode,您应该使用Unicode character properties。有关帮助,请参阅this answer