J'ai beaucoup de chaînes et j'ai besoin de vérifier si chacun d'entre eux contient une couleur. P>
Par exemple: P>
Donc, les deux dernières chaînes doivent revenir. p>
Quelle est la meilleure façon de le trouver? p>
regex ou vérifier avec n'importe quel substrateur ()? P>
4 Réponses :
Strows ou Strripos in PHP doit être en mesure de rechercher un seul mot dans une chaîne. Vous devrez peut-être avoir une boucle pour rechercher toutes les couleurs si vous l'utilisez si p>
a également vu un exemple quelque part sur Eregi Eregi ("(ceci | que)", $ str) // trouve ceci ou ça en $ str
Je travaille toujours avec Stros code> car il semble être l'alternative la plus rapide (je ne sais pas à propos de Regex).
if(strpos($haystack, $needle) !== FALSE) return $haystack;
J'ai trouvé une fonction Utiliser des Strows, avec un tableau de $ aiguilles
Strows ne retourne pas vrai, mais cela retourne false afin que vous puissiez faire si (Strows ($ haystack, $ aiguille)! == false) retour $ foin; Code> et une autre chose à retenir est si vous étiez Vous recherchez
rouge code> alors
Fred code> renvoie également un résultat.
@Pathfinder Vous avez absolument raison, on dirait que je ne faisais pas attention :) Merci de le pointer.
Ceci est plus rapide que Regex. Aussi méfiez-vous que si Stros code>
est affaire sensible. Si vous devez rechercher la sous-chaîne, quelle que soit votre cas, vous devez utiliser stripos code >
Dans Regexp, vous pouvez écrire
preg_match_all("/(red|blue|black|white|etc)/", $haystack, $matches); print_r($matches);
Si vous utilisez Strows, il renvoie une position d'une chaîne qu'il retournera un nombre 1,2,3 etc. et non true ou faux. P>
Et l'autre problème est si une chaîne existe au début, il retournera 0 qui considérera comme des faux alors Stros ne peut pas trouver ce mot. p>
Il suffit d'utiliser === Opérateur