2010-11-22 4 views
0

Je veux lancer une requête sur un tableau ou une chaîne avec PHPrequête Exécuter sur un tableau

Disons que je suis une chaîne:

$Iamastring = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc velit est, porta sed feugiat vitae, sodales et nisl. Suspendisse ut." 

Et je veux lancer une requête sur cette chaîne trouvez-le:

"Lorem ipsum" OR ("dolor" AND "sodales") 

Dans ce cas ce serait vrai :). Comment est la meilleure façon de faire cela?

Répondre

2

:) regexp preg_match('\(Lorem ipsum)|(dolor.+sodales)\', $matches). Ou variations avec différentes

+0

Cela fonctionnerait pour la chaîne, mais vous auriez à [mapper] (http://us2.php.net/array-map) le tableau si vous aviez un tableau de chaînes. – sholsinger

0

Vous le feriez avec une expression régulière. Découvrez quelque chose comme preg_match()

Les points suivants doivent retourner true ou false si le motif correspond:

preg_match ('/(Lorem ipsum)|(dolor+sodales)/' $Iamastring); 
0

de regexp RegExp est une façon, mais si vous souhaitez utiliser des fonctions de chaîne encastrables:

$haystack="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc velit est, porta sed feugiat vitae, sodales et nisl. Suspendisse ut."; 

if((strrpos($haystack, "Lorem Ipsum")!==false)||((strrpos($haystack, "dolor")!==false)&&(strrpos($haystack, "sales")!==false))){ 

// do this if true 

} 

Notez que phps fonctions de chaîne encastrables sont plus rapides que regExps, mais chaque approche varie en adéquation en fonction le contexte.

Questions connexes