Expression réguliere

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

  • Votes
  • Date
  • Date décroissante
  1. Désolé je ne comprends pas ton problème. Essaye d'être plus clair stp.

    Merci
    1. 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 :)
    2. 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
    3. Mais si j'utilise htmlentities, les <br> ne seront alors pas interprétés non ?
    4. 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
    5. 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