Je comptais utiliser la fonction preg_match_all afin d'extraire d'une chaine caractère les sous chaines contenues entre 2 balises ([yt] et /yt)
Cependant, lorsque je regarde l'aide de preg_match_all (ici :http://fr3.php.net/preg_match_all) je ne parviens pas à comprendre comment construire le |<[^>]+>(.*)</[^>]+>|U de l'exemple
>>1.
C'est le "language" regex (expressions régulières)
|\[yt\](.*)\/yt\|U
- le délimiteur > | | (ce que tu veux, identique)
- l'option de recherche > U (option non gourmande, elle ne prendra que le 1er renvoi ou aucun)
- echaper les caractères spéciaux > \[ (les caractères spéciaux de la famille des regex doivent être échapés par un antislashe, tel que [, ], ?, +, *,... [ et ] servent à définir une classe de caractère donc on les échape)
- ici la chaine à trouver se situe entre [yt] et /yt, on y place donc a l'intérieur une paire de parenthese avec la commande .* qui veux dire tout et n'importe quoi 0 ou plusieur fois (et grace à ton option U, ça s'arretera à la 1er fois au pire, pil poil ce que tu désire donc)
Je te conseil de chercher un peu dans google pr en savoir plus sur les regex.
j'aimerais cependant savoir deux choses :
1. Comment avez vous trouvé ?? :)
2. Comment faire pour trouver le nombre de remplacements fait par preg_match_all ?