Regex pour interdire url
ANTHURIUMRE
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
Profil bloqué -
Profil bloqué -
Bonjour,
Je m'occupe d'un petit site et lors des commentaires je voudrais interdire l'introduction d'adresse de sites genre http://www.machain.fr ou http://truc/bidule qui n'ont d'autre but que la publicité.
J'ai essayé ceci
Je voudrais une regex qui exclus tout commentaire avec url. pouvez-vous m'aider s'il vous plait.
Merci par avance
Je m'occupe d'un petit site et lors des commentaires je voudrais interdire l'introduction d'adresse de sites genre http://www.machain.fr ou http://truc/bidule qui n'ont d'autre but que la publicité.
J'ai essayé ceci
&& preg_match("#[^(https://www.salesforce.com/products/platform/overview/]#",$_POST['commentaire'])mais maintenant tous les commentaires sont refusés.
Je voudrais une regex qui exclus tout commentaire avec url. pouvez-vous m'aider s'il vous plait.
Merci par avance
A voir également:
- Regex pour interdire url
- Url - Guide
- Ping url ✓ - Forum Windows
- Comment changer url iptv - Forum Créer un site
- Regex ne commence pas par ✓ - Forum PHP
- L'administrateur système a configuré la politique de votre système pour interdire cette installation ✓ - Forum Logiciels
3 réponses
Entre temps j'ai essayé ceci
mais malgré cela, aucun commentaire, même ne contenant aucune url n'est accepté.
Donc encore une fois si quelqu'un veut m'aider merci par avance.
&& preg_match("#[^((http:\/\/|https:\/\/)?(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)] #",$_POST['commentaire'])
mais malgré cela, aucun commentaire, même ne contenant aucune url n'est accepté.
Donc encore une fois si quelqu'un veut m'aider merci par avance.
Salut,
le mieux serait que tu apprennes à créer des regex toi même... Parce que les sélecteurs (parenthèse) qui sont un peu partout dans ta seconde regex ne servent à rien, en plus ta regex ne sert pas à parser un commentaire entier...
Et il serait plus propre de créer une variable qui contiendrait le commentaire, mais une fois passer à plusieurs fonctions essentielles :
le mieux serait que tu apprennes à créer des regex toi même... Parce que les sélecteurs (parenthèse) qui sont un peu partout dans ta seconde regex ne servent à rien, en plus ta regex ne sert pas à parser un commentaire entier...
Et il serait plus propre de créer une variable qui contiendrait le commentaire, mais une fois passer à plusieurs fonctions essentielles :
Si tu veux apprendre consultes la doc sur php.net. ;)
$commentaire = htmlspecialchar($_POST['commentaire']); //failles XSS
$commentaire = stripslashes($commentaire); //Supprime les antislashs d'une chaîne
Pour devenir un master des Regex en moins d'une heure :
https://openclassrooms.com/fr/courses
Très bien décrit et présenté, intuitif et va droit au but, grâce à ce simple tuto je regex-ise en PHP comme en MySQL, en RewriteRule de Mode_rewrite sur Apaches (fichiers de conf et .htaccess) et même en Objective C pour IOS, autant dire que ça m'a depuis bien décomplexé. Un simple : 'preg_match tester' sur google te sortiras des outils utiles pour progresser très vite dans la création de tes regex. persos. Ensuite si tu t'intéresse aux performances de PHP et de ton serveur, ce développeur a publié un benchmark, il te montre dans quelle mesure les regex peuvent parfois être lourde à exécuter, et qu'il vaut mieux parfois privilégier les fonctions de type 'str_' dans la manipulation de chaines de caractères.
http://maettig.com/code/php/php-performance-benchmarks.php
https://openclassrooms.com/fr/courses
Très bien décrit et présenté, intuitif et va droit au but, grâce à ce simple tuto je regex-ise en PHP comme en MySQL, en RewriteRule de Mode_rewrite sur Apaches (fichiers de conf et .htaccess) et même en Objective C pour IOS, autant dire que ça m'a depuis bien décomplexé. Un simple : 'preg_match tester' sur google te sortiras des outils utiles pour progresser très vite dans la création de tes regex. persos. Ensuite si tu t'intéresse aux performances de PHP et de ton serveur, ce développeur a publié un benchmark, il te montre dans quelle mesure les regex peuvent parfois être lourde à exécuter, et qu'il vaut mieux parfois privilégier les fonctions de type 'str_' dans la manipulation de chaines de caractères.
http://maettig.com/code/php/php-performance-benchmarks.php