Extraire une chaine de caractères

WRInaute discret
Bonjour à tous :)

J'ai un champ "article" (type Text sur MySQL) qui se présente ainsi :

Code:
"Voici mon article, blablabla...

Ici la vidéo :

[YOUTUBE]Code vidéo[/YOUTUBE]

Et voici une autre vidéo :

[DAILYMOTION]Code vidéo[/DAILYMOTION]"

J'aimerai extraire de ce champ tous les bouts de code [YOUTUBE]CODE[/YOUTUBE] et [DAILYMOTION]CODE[/DAILYMOTION].

En gros, le résultat de cette fonction me renverrai :

"
Code:
[YOUTUBE]Code vidéo[/YOUTUBE][DAILYMOTION]Code vidéo[/DAILYMOTION]
"

Est-ce que vous pouvez m'aider ? :(

A bientôt et merci d'avance !!
 
WRInaute discret
Le but est de ne conserver QUE les "bbcode" ([YOUTUBE] et [DAILYMOTION]) et ne plus prendre en compte les différents textes avant, pendant et après les vidéos :)
 
WRInaute discret
Bonjour !

Merci pour ce lien mais j'ai un peu de mal avec ces règles de réécriture :(

Comment "boucler" sur la chaine de caractères pour ne conserver QUE les bbcode [YOUTUBE]CODE[/YOUTUBE] et [DAILYMOTION]CODE[/DAILYMOTION] ?
 
WRInaute accro
Bein tu prends la dernière règle dans le lien que je t'ai donné et tu remplace les p par DAILYMOTION ou YOUTUBE, ça devrait fonctionner (vu qu'à priori la réponse donnée à la fin fonctionne avec un bbcode p).
 
WRInaute discret
Bonsoir ;)

Certes ça fonctionne, par contre ça conserve le reste du texte :(

J'ai essayé un preg_match('#\[(.+)\](.+)\[/(.+)\]#', $text, $matches) mais on dirait que la REGEX n'est pas bonne
 
Discussions similaires
Haut