2010-05-04 5 views
0

J'expérimente avec la recherche de mots-clés populaires en utilisant curl, php et expressions régulières. J'ai un tableau de noms non spécifiques que je suis correspondant à ma recherche par mot-clé. Donc, je cherche des mots comme "le", "et", "ça" etc. et en les sortant de la recherche par mot-clé.combinaison de texte dynamique avec des expressions régulières en php

donc j'ai un tableau de mots comme ceci:

$wordArr = [the, and, at,....]; 

puis courir quelque chose comme:

&& preg_match('(\bmyword\w*\b)', $key) == false 

comment puis-je combiner ces deux il boucle dans le tableau savoir le cas échéant des mots dans le tableau correspondent à l'expression régulière?

Je suppose que je pourrais faire une boucle for, mais peut-être que je pourrais utiliser in_array($wordArr, $key) .. ou quelque chose comme ça.

Répondre

0
$str = "cars and all that stuff"; 

$a = array("and", "that"); 

$b = str_replace($a, '', $str); 

echo $b ; 

"voitures tous les trucs"

Faveur PHP fonctions natives pour cela quand vous pouvez, plus rapide.

+0

ha, quelque chose au sujet des « bandits et buckethats » est drôle. J'aimerais lire cet article. – pfunc

+0

Je suppose que stereofrog a un point ici, vous pouvez utiliser explode() sur des espaces pour générer un tableau de mots, puis faire tomber les mots d'arrêt hors du tableau. Utile aussi si votre recherche initiale n'aboutit à rien ou à peu, vous pouvez alors faire une recherche traditionnelle comme "% $ word%". – Cups

0

Si la liste noire est pas très long (disons, moins de 100 entrées), vous pouvez construire une grande regexp hors de lui:

$stops = '~\\b(' . implode('|', $stopWords) . ')\\b~'; 

if(preg_match($stops, $text)).... 
Questions connexes