2012-03-05 2 views
0

J'essaie de faire correspondre les mots interdits en hébreu extraits de la table db mysql avec la chaîne hébraïque en $_POST['content'], pour les mots anglais (si utilisé en hébreu string $_POST['content']) son donner la correspondance mais pour les mots hébreux, pas de chance. Pouvez-vous m'aider à modifier le code ci-dessous pour rechercher un mot hébreu interdit dans une chaîne donnée? Toutes les sources de données ont été vérifiées au format UTF-8.preg_match_all correspond parfaitement aux mots anglais mais pas de chance aux mots hébreux

<? 

$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) fonctionne dans l'autre sens. Vous devez d'abord donner le caractère de collage, puis la variable de tableau. – mario

+2

@mario implode() peut, pour des raisons historiques, accepter ses paramètres dans n'importe quel ordre. Par souci de cohérence avec explode(), cependant, il peut être moins déroutant d'utiliser l'ordre documenté des arguments. –

Répondre

Questions connexes