Se si desidera verificare la presenza di più parole la stessa stringa, e hai a che fare con stringhe di grandi dimensioni, allora questo è più veloce:
$text = explode(' ',$text);
$text = array_flip($text);
Quindi è possibile verificare la presenza di parole con:
if (isset($text[$word])) doSomething();
Questo metodo è velocissimo.
Ma per verificare un paio di parole in stringhe brevi, utilizzare preg_match.
UPDATE:
Se si sta effettivamente andando a utilizzare questo vi consiglio di implementare in questo modo per evitare problemi:
$text = preg_replace('/[^a-z\s]/', '', strtolower($text));
$text = preg_split('/\s+/', $text, NULL, PREG_SPLIT_NO_EMPTY);
$text = array_flip($text);
$word = strtolower($word);
if (isset($text[$word])) doSomething();
Poi doppio spazi, interruzioni di linea, punteggiatura e maiuscole vinto' t produrre falsi negativi.
Questo metodo è molto più veloce nel controllo di più parole in grandi stringhe (cioè interi documenti di testo), ma è più efficiente usare preg_match se tutto ciò che si vuole fare è trovare se esiste una singola parola in una dimensione normale stringa.
L'ho provato e ha funzionato. Grazie mille. – Tafu
Se hai intenzione di usarlo, consulta il mio aggiornamento per renderlo più affidabile. – Alasdair