Comment reconnaitre un code html ?

Bonjour,

j'ai créé un formulaire pour poster des commentaires. Je voudrais faire en sorte que si quelqu'un entre du code html dans mon textarea, le commentaire ne soit pas pris (pas entré dans ma base de données) pour ne pas l'afficher.

Merci d'avance.
Configuration: Linux
Firefox 8.04

7 réponses

  1. strip_tags devrait te suffire à retirer le html, tu peux même dire quelles balises html tu veux accepter (retour à la ligne, image, lien...)

    addslashes t'aidera pour les injections sql.

    preg_match(pattern,chaine) te permettra de détecter tout ce que tu as envie de détecter,
    https://www.php.net/manual/fr/function.preg-match.php cette page t'aidera à la comprendre.
    https://lumadis.be/regex/test_regex.php celle ci te permettra de pratiquer et de vérifier tes pattern^^
    1
    1. Bonjour,

      +1 pour supprimer les balises: https://www.php.net/strip_tags

      Une regexp n'est pas appropriée ici, inutile de refaire la roue quand elle existe déjà et qu'elle fonctionne parfaitement ! ;)
      0
    2. @Pi_Xisauf si on veut détecter d'autres langages que le html et le php ;)
      0
    3. @Smoking bird??

      En l'occurence il parle de html ... ;)
      0
  2. Regarde les fonction : htmlspecialchars, htmlentities, strip_tags de php, c'est une des 2 mais je sais plus laquelle. Et il y a pas que le html qu'il faut empecher. Il y a aussi le SQL avec la fonction add_slashes
    0
    1. Bonjour,

      Merci pour ta réponse. J'ai essayé les trois fonctions pour empêcher le html : le html est bloqué ! Merci
      Seulement, même les messages ne contenant pas de html sont bloqués !

      Pourquoi ?
      0
    2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <HTML><HEAD>
      <META http-equiv=3DContent-Type content=3D"text/html; =
      charset=3Diso-8859-1">
      <META content=3D"MSHTML 6.00.2900.2883" name=3DGENERATOR>
      <STYLE></STYLE>
      </HEAD>
      <BODY bgColor=3D#ffffff>
      <DIV>
      <DIV><FONT face=3DArial size=3D2

      sa ses un code html
      0
      1. Contributeur
        merci !!!
        -:oD
        0
    3. Contributeur
      special comme doctype ;-))
      0
      1. derien et bonne continuation
        0