Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
conan76
#
Citer
52 Posts
Bonjour,

J'ai un petit problème de regex.
Lors de l'envoi d'un formulaire qui contient un textarea, je voudrais faire un contrôle PHP pour vérifier que celui-ci ne contient pas de tag Html.

En javascript mon regex fonctionne : /<(.|\n)*?>/g

mais en Php il semble que la même chose ne soit pas possible. (le match global "g" n'est pas reconnu)

Merci de votre aide.

http://higs.dyndns.org 
^
kenor
#
Citer
399 Posts
essai si plutôt que g

^
conan76
#
Citer
52 Posts
Je viens d'essayer, cela ne fonctionne pas bawling

texte tapé :
qsddsd<html>

contrôle


if (empty($msg)){
		$valid=false;
		$erreurMsg = "Veuillez saisir un message.";
	}elseif (!preg_match("/<[^>]+>/si",$msg)){
		$erreurNom = "Veuillez entrer un message valide.";
	}


http://higs.dyndns.org 
^
kenor
#
Citer
399 Posts
tu mets un point d'exclamation devant ? C'est la négation ...

là tu fais "si il n'y a pas de HTML, je dis que le message n'est PAS valide"
or tu veux "si il y a du HTML, je dis que le message n'est pas valide"

^
conan76
#
Citer
52 Posts
Oups...

Je regarde demain, ce doit être un reste des tests "inverse" que j'ai fais (test des autres caractères possibles).

Dur journée aujourd'hui ! que des conneries (parenthèse,...) qui font perdre du temps et me mettre hors délai... C'est mon Scrum master qui va être content... langue

Je dirais demain si c'est bon donc.Merci.

http://higs.dyndns.org 
^
conan76
#
Citer
52 Posts
Bonjour,

je viens de faire la modification (suppression du !) :


if (empty($msg)){
		$valid=false;
		$erreurMsg = "Veuillez saisir un message.";
	}elseif (preg_match("/<[^>]+>/si",$msg)){
		$erreurNom = "Veuillez entrer un message valide.";
	}


Mais lors de test de saisie:
"Tutu" > pas de message : Correct
"Tutu <html> : pas de message : Incorrect

http://higs.dyndns.org 
^
conan76
#
Citer
52 Posts
Ouf, toujours une bétise du copier coller entre mes différents contrôles



	if (empty($msg)){
		$valid=false;
		$erreurMsg = "Veuillez saisir un message.";
	}elseif (preg_match("/<[^>]+>/si",$msg)){
		$valid=false;
		$erreurMsg = "Veuillez entrer un message valide.";
	}
	

il manquait le valid=false, et mon $erreurMsg était $erreurNom (donc affiché pour un autre input)

Merci pour l'aide !!

http://higs.dyndns.org 
^
kenor
#
Citer
399 Posts
Faut dormir la nuit lol

^
jb_gfx
#
Citer
2853 Posts
Sinon : if ($msg != strip_tags($msg))...

Je ne sais pas si je suis cultivé ou si je viens d'inventer deux nouveaux mots.

http://www.pixemedia.com/ 
^