[BBCode] preg_replace pour les quote
Posté : 29 août 2013, 09:04
Bonjour,
J'ai fait un petit script des BBCodes, le message est sous cette forme, une personne envoi un message, la 2eme personne repond avec des quotes, la premiere personne le faisait aussi, ce qui donne:
le code PHP marche bien avec un seul quote:
ca veut dire si plus qu'une quote, on peut les regrouper sous une seule et mettre une ligne entre les 2
merci a vous
J'ai fait un petit script des BBCodes, le message est sous cette forme, une personne envoi un message, la 2eme personne repond avec des quotes, la premiere personne le faisait aussi, ce qui donne:
Code : Tout sélectionner
[quote]
[quote]Premier message[/quote]
Reponse au premier message
[/quote]
2eme message
public final function bbcode()
{
$tags = array(
'\[b\](.*?)\[\/b\]' => '<strong>$1</strong>',
// autres tags
'\[quote\](.*?)\[\/quote\]' => '<blockquote>
<span style="background-color: #e1e4f2; width: auto; box-shadow:6px 6px 12px #888; -moz-box-shadow: 6px 6px 12px #888; -webkit-box-shadow: 6px 6px 12px #888; border-radius : 5px 5px 0px 0px; -moz-border-radius: 5px 5px 0px 0px; -webkit-border-radius: 5px 5px 0px 0px; padding: 3px;">
<span style="float: right;" align="absmiddle"><img src="quote.png" align="absmiddle"></span>$1</span></blockquote>',
); // closed array
$this->tags = $tags;
foreach($this->tags as $k=>$v)
{
$this->text = preg_replace('/'.$k.'/', $v , $this->text);
}
}
comment faire afin d'avoir un resultat par exemple:2eme messagepremier message
============
reponse au premier message
ca veut dire si plus qu'une quote, on peut les regrouper sous une seule et mettre une ligne entre les 2
merci a vous