J'ai un formulaire de contact, j'ai besoin de filtrer quelques mots.PHP - Expressions régulières Besoin d'aide
que je fais comme suit:
$array = array('lorem', 'ipsum', 'ip.sum');
for($i = 0; $i < count($array); $i++)
{
if(preg_match("/".$array[$i]."/", (string) $field))
{
return false;
}
}
Je ne suis pas un maître regex, mais il faut travailler pour des mots comme: Lorem ipsum ou. Mais ce n'est pas.
BTW. Toutes les suggestions comment attraper des mots mal orthographiés, ex. i.psum, l.o.rem?
Mise à jour
Bien sûr, je n'ai pas de modèle vide, j'ai oublié de le coller.
Mise à jour 2
J'ai décidé de obtenu de la manière suggérée par Daniel Vandersluis. Abnyway, je ne suis pas capable de le faire fonctionner.
$field = "ipsum lorem"; // This value comes from textarea
$array = array('ipsum', 'lorem', 'ip.sum');
foreach($array as $term):
if(preg_match('/'.preg_quote($term).'/', $field)) {
return false;
}
endforeach;
Des idées?
'" // "' est un motif vide ... qu'est-ce que vous essayez de faire? –
Où est la signature de la fonction? Quel est le contexte? –
Lire http://www.codinghorror.com/blog/2008/10/obscenity-filters-bad-idea-or-incredibly-intercoursing-bad-idea.html – Gumbo