2011-11-07 5 views
1

A vu dans le titre, voici l'exemple de code HTML:preg_match_all grab intérieur commentaire html

<body> 
<!--CODE_START--> 
<p>I <strong>Want</strong> this</p> 
<p>And this one too</p> 
<!--CODE_STOP--> 

<p>This sould be go to trash</p> 

<!--CODE_START--> 
<p>This one should be included too</p> 
<!--CODE_STOP--> 

La question est, je veux tout à l'intérieur <!--CODE_START--> et <!--CODE_STOP--> de sorte que le résultat devrait être:

<p>I <strong>Want</strong> this</p> 
<p>And this one too</p> 

et <p>This one should be included too</p>

J'ai essayé d'utiliser ce /<!--CODE_START-->([^<]*)<!--CODE_STOP-->/ et /<!--CODE_START-->(.*)<!--CODE_STOP-->/ avec combinaison de patter n modificateurs comme su, imu, im cela ne fonctionnera pas, il suffit de retourner un tableau vide. Et aussi, sa page HTML complète que j'essayais de saisir.

Merci d'avance.

Répondre

4

[^<] signifie tout ce qui est pas un <, évidemment, il va échouer à < p>. Juste attraper tout et utiliser l'option non gourmande:

preg_match_all('/<!--CODE_START-->(.*)<!--CODE_STOP-->/sU', $foo); 
+0

Désolé, j'ai oublié de mettre cela, j'ai déjà essayé cela, mais c'est pareil, avoir un tableau vide. – pengemizt

+0

Ups, je viens de faire une faute de frappe! lol ça marche bien !! MERCI! – pengemizt