Remplacer bbcode par balises html PHP

stanac Messages postés 62 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Voilà la base du problème :

<?php
// définition de la variable contenant les paragraphes en BBcode
$texte = '[p]Ce texte est un 1er paragraphe!/p[p]Ce texte est un 2ème paragraphe!/p';

// remplacer le BBcode par du code HTML
$texte = preg_replace("#^(?:\[p\]{1})([A-Za-z0-9éèàçêîôûâëïöüäù!?,.;:/\" '()-]+)(?:\/p\{1})$#isU", '<p>$1</p>', $texte); 

echo $texte;


$texte affiche :

[p]Ce texte est un 1er paragraphe!/p[p]Ce texte est un 2ème paragraphe!/p

Mais quand il n'y a qu'un seul paragraphe ça marche bien. Je suppose qu'il faut faire une boucle ou un explode quelque part...

Comment puis-je faire pour que les ensembles [p]/p soient remplacés un par un quand ma variable contient plusieurs occurrences ?

Merci !

1 réponse

  1. Utilisateur anonyme
     
    Sa te convient ?:
    function bbcode($texte)  
     {  
      $texte = str_replace('[p]', '<p>', $texte);  
      $texte = str_replace('[ / p ]', '</p>', $texte);   //sans les espaces
      return $texte;  
     }  
    
    (J'ai pas vraiment compris ^_^")
    0