J'ai un petit problème avec les expressions régulières et preg_match_all. Je m'y prend peut-être mal alors je vais commencer par expliquer mon problème.
Disons que j'ai un code comme ceci.
<b>contenu 1</b><b>contenu 2</b><b>contenu 3</b>
ce que j'aimerais c'est avoir les contenus des tags dans un tableau. J'ai donc essayé ça :
$matches = array();
preg_match_all('#<b[^>]*>(.*)</b>#i', $str, $matches,PREG_PATTERN_ORDER)
Quand je fais un var_dump de $matches, j'ai
array(2) { [0]=> array(1) { [0]=> string(48) "contenu 1contenu 2contenu 3" } [1]=> array(1) { [0]=> string(41) "contenu 1contenu 2contenu 3" } }
$matches[0][0]
me donne
alors que j'aimerais plus avoir quelque chose du genre"contenu 1contenu 2contenu 3"
$matches[0][0] = 'contenu 1';
$matches[0][1] = 'contenu 2';
$matches[0][2] = 'contenu 3';
J'espere que je suis assez claire. Le code html vient d'un fichier externe. Avec file_get_contents, je récupère le code et essaye d'appliquer ma regex. Si ce que je veux est pas possible avec preg_match_all, l'autre solution qui m'est venu a l'esprit est d'ouvrir le fichier avec fopen en lecture et de parcourir avec fgets le fichier ligne par ligne ensuite d'appliquer la regex sur la ligne. Si une correspondance est trouvée je le ''push'' moi même dans un tableau, le seul hic ici c'est que si la balise fermante est pas sur la même ligne, ma regex ne marche pas. JE sais pas si quelqu'un aurait déjà eu à faire un truc similaire ou tout juste quelqu'un aurait des conseils.Merci d'avance