Version complète: sur le forum Webmaster Hub : BBcode
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
sparh
Bonsoir,
voilà, j'éssai d'ajouter une balise "Musique" pour mon BBcode.
Mon problème est que dans le code à générer il y a 2 fois l'url de la musique.

Voilà le code à générer
CITATION
<object type='application/x-shockwave-flash'
data='source/dewplayer.swf?mp3=source/xxx.mp3' width=200 height=20> <param name='movie' value='source/dewplayer.swf?mp3=source/xxx.mp3'/></object>


Voilà mon BBcode
CODE
<?php
                //bbcode
        function bbcode($le_texte){
$texte = ''.$le_texte.'';
//exemple de traitement des autres balise
$search1 = array("[center]");
$search2 = array("[/center]");
$texte = str_replace($search1,"<center>",str_replace($search2,"</center>",$texte));
//le traitement que je n'arrive pas à résoudre
$search1 = array("[musique=");
$search2 = array("*musique]");
//la il faudrait récupérer et extraire ce qui a entre les balises musique pour construire le code à afficher
$musique = je n y arrive pas.mp3
$texte = str_replace($search1,"<object type='application/x-shockwave-flash'
data='$musique' width=200 height=20> <param name='movie' value='",str_replace($search2,"'/></object>",$texte));
return $texte;
}
?>


Voilà!
J'éspère avoir été clair!
En gros comment récupérer et extraire une chaîne de caractère qui commence par [musique= et finit par *musique] dans un texte!

Merci d'avance pour votre aide;)
kazhar
Commence par lire ça : http://expreg.com/

Puis pour ton bbcode, ca sera quelque chose comme cela :
CODE
$str = preg_replace('`\[music=(.*?)\]`', '<myMusicTag>$1</myMusicTag><myMysicTag2>$1</myMusicTag2>', $str);
sparh
Merci, j'ai pas mal de lecture wink.gif

Et j'ai réussis, voilà ton code adapté
CODE
$texte = preg_replace('`\[musique=(.*?)\*musique\]`', '<object type="application/x-shockwave-flash"
data="$1" width=200 height=20> <param name="movie" value="$1"/></object>', $texte);


Franchement merci beaucoup, je sais pas si c'est ton site mais il est vraiment instructif.
kazhar
Non ce n'est pas mon site. Mais l'un de mes 10 favoris préférés wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.