Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

PHp : Interpreter bbcode

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
2fou
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 08 Juil 2003
Messages: 207
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Oct 19, 2005 11:53    Sujet du message: PHp : Interpreter bbcode

bonjour,

j'ai pour un site dans une page d'admin : un formulaire d'insertion de texte : textarea + boutons de mise en forme bbcode (gras, souligné, lien, et image). Après validation, ce texte mis en forme (ajout des balises bbcode) est insérés dans ma bdd.
Puis sur une page du site du site public : j'affiche ce texte en transformant les balises bbcode en html. Pour cela, j'ai récupéré un script.
ça fonctionne pour le gras, l'italique, le souligné, l'insertion d'image, le lien classique [ u r l ] http://www.webrankinfo.com [ / u r l ] transformé en <a href="http://www.webrankinfo.com">http://www.webrankinfo.com</a>
.

Parcontre, je n'arrive pas à transformer : [ u r l = http://www.webrankinfo.com ] Référencement google[ / u r l ] en <a href="http://www.webrankinfo.com">Référencement google</a>



le scripts que j'utilise pour la transformation est le suivant :



Code:
function bbCode($description)
// remplace les balises BBCode par des balises HTML
{
   
   // gras
   $description=str_replace("[b]", "<strong>", $description);
   $description=str_replace("[/b]", "</strong>", $description);
   
   // italique
   $description=str_replace("[i]", "<em>", $description);
   $description=str_replace("[/i]", "</em>", $description);
   
   // soulignement
   $description=str_replace("[u]", "<u>", $description);
   $description=str_replace("[/u]", "</u>", $description);
   
   // lien
   $regLienSimple="\[url\] ?([^\[]*) ?\[/url\]";
   $regLienEtendu="\[url ?=([^\[]*) ?] ?([^]]*) ?\[/url\]";
   if (ereg($regLienSimple, $description)) $description=ereg_replace($regLienSimple, "<a href=\"\\1\">\\1</a>", $description);
   else $description=ereg_replace($regLienEtendu, "<a href=\"\\1\" target=\"_blank\">\\2</a>", $description);

   
   // image
   $regImage="\[img\] ?([^\[]*) ?\[/img\]";
   $regImageAlternatif="\[img ?= ?([^\[]*) ?\]";
   if (ereg($regImage, $description)) $description=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $description);
   else $description=ereg_replace($regImageAlternatif, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $description);
   
   return $description;
}


Code:
echo  bbCode($description);


Avez-vous une idée des modifications à apporter à ce code pour y parvenir ?
j'avoue ne pas bien comprendre le fonctionnement du script concernant les liens et les images.

ps : quel format bbcode concerne $regImageAlternatif ?

ps : à votre avis est-il préférable d'avoir dans la bdd le texte au format bbcode [b] ou au format html <strong> ?

Merci de votre Aide
 
2fou Visiter le site web du posteur
2fou
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 08 Juil 2003
Messages: 207
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Oct 19, 2005 14:26    Sujet du message: PHp : Interpreter bbcode

Bon, pour la transformation de [ u r l = ... ]bla bla bla[/url], c'est bon, j'ai trouvé le code suivant, qui fonctionne :
Code:

   // lien

 $description = nl2br($description);

        $description = preg_replace('`\[url=([http://].+?)](.+?)\[/url]`si','<a href="#" onclick="window.open(\'$1\',\'popup\');" title="$1">$2</a>',$description);

        $description = preg_replace('`\[url=(.+?)](.+?)\[/url]`si','<a href="#" onclick="window.open(\'http://$1\',\'popup\');" title="$1">$2</a>',$description);

        $description = preg_replace('`\[url]([http://].+?)\[/url]`si','<a href="#" onclick="window.open(\'$1\',\'popup\');" title="$1">$1</a>',$description);

        $description = preg_replace('`\[url](.+?)\[/url]`si','<a href="#" onclick="window.open(\'http://$1\',\'popup\');" title="$1">$1</a>',$description);
 
2fou Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort