【发布时间】:2012-03-23 07:35:46
【问题描述】:
我正在尝试将从 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;
}
?>
【问题讨论】:
-
implode正好相反。您需要先给出胶水字符,然后是数组变量。 -
@mario implode() 由于历史原因,可以按任意顺序接受其参数。但是,为了与explode() 保持一致,使用记录在案的参数顺序可能不会造成混淆。