Expression réguliere

Utilisateur anonyme -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,

est-ce que quelqu'un aurait la gentillesse de m'indiquer comment faire pour remplacer tout les
<br /> dans une chaine de caractères par des [b] et l'inverse également, ce qui fait 2 expression.
Que dois-je utiliser également comment fonction ? (Je tiens à préciser que je fais tout ça en php !)
Merci d'avance à ceux qui auront la gentillesse de m'aider, personnellement je n'ai malheureusement pas le temps d'apprendre ces expressions car je suis en manque de temps !

Sur ce, merci d'avance et bonne soirée

1 réponse

  1. PierreYandex Messages postés 179 Statut Membre 19
     
    Désolé je ne comprends pas ton problème. Essaye d'être plus clair stp.

    Merci
    0
    1. Utilisateur anonyme
       
      En gros, j'ai un formulaire avec un textarea, et quand je stocke le texte que la personne à écrit dans ma base de donnée les sauts à la ligne ne sont pas conservés donc quand j'affiche de texte sur ma page internet, il n'y a plus ces fameux sauts à la ligne.
      Et ce que je voulais c'est une expression réguliere qui modifie les sauts à la ligne par un <br />
      Cependant, pour éviter qu'une personne injecte du code HTML par le biais de ce formulaire.

      Encore une fois, merci d'avance à ceux qui m'aideront :)
      0
    2. Pitet Messages postés 2845 Statut Membre 530
       
      Tu peux utiliser htmlentities pour afficher les données saisies par l'utilisateur, le code html ne sera pas interprété : http://fr2.php.net/manual/fr/function.htmlentities.php

      La fonction nl2br te permet de transformer les sauts de ligne en <br> : https://www.php.net/manual/fr/function.nl2br.php
      0
    3. Utilisateur anonyme
       
      Mais si j'utilise htmlentities, les <br> ne seront alors pas interprétés non ?
      0
    4. Pitet Messages postés 2845 Statut Membre 530
       
      Pas si tu utilises nl2br après htmlentities :
      $text = 'blabla <h1>balise non interprétée</h1>' . "\n" . 'saut de ligne';
      
      echo nl2br(htmlentities($text, ENT_QUOTES, 'UTF-8'));
      

      code source affiché (sans les espaces sur les entités) :

      blabla & lt;h1& gt;balise non interpr& eacute;t& eacute;e& lt;/h1& gt;<br />
      saut de ligne
      0
    5. Utilisateur anonyme
       
      Le problème est que je devrais utiliser nl2br AVANT d'insérer le texte dans ma base de donnée puis utiliser htmlentities APRES avoir récupérer le texte pour l'afficher
      0