Remplacer bbcode par balises html PHP

Fermé
stanac Messages postés 53 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 3 mai 2015 - 29 déc. 2012 à 16:26
 Utilisateur anonyme - 29 déc. 2012 à 17:39
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 !
A voir également:

1 réponse

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