Regex - extraire des balises HTML imbiquées

1 post / 0 new
johnstyle
Regex - extraire des balises HTML imbiquées

Bonjour,
j'ai un petit problème avec les expressions régulières sous PHP.

Je cherche à extraire le contenu de toutes les balises HTML

ne contenant pas d'autres balises
mais pouvant contenir tout autre contenu HTML.

Voici le début de mes recherches :

	$string = '<div><div>Contenu de ma <strong>div 1</strong></div></div><div><div>Contenu de ma <strong>div 2</strong></div></div>';
	if(preg_match_all("#<div[^>]*>((?:[^[]|<(?!div]))*)</div>#siU", $string, $m)){
		print_r($m);
	}

Ce qui donne :

Array
(
    [0] => Array
        (
            [0] => <div><div>Contenu de ma <strong>div 1</strong></div>
            [1] => <div><div>Contenu de ma <strong>div 2</strong></div>
        )

    [1] => Array
        (
            [0] => <div>Contenu de ma <strong>div 1</strong>
            [1] => <div>Contenu de ma <strong>div 2</strong>

        )

)

Je pense que j'y suis presque mais je ne parvient pas à trouver la solution.

Quelqu'un aurait-il une idée ? ou du moins une piste.
Je vous remercie.