3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html_string = '<!DOCTYPE html> <html> <body> <div id="foo"> This is a paragraph with <strong>Some nested tags</strong> </div> <div class="test" id="bar"> <div> And a nested div? </div> </div> <div class="baz test"> <p> Pretty normal HTML. </p> </div> </body> </html>'; $regex = '/<div[^>]*?(class="(.+?)"[^>]*)?>((?:.*?(?:(?!<div)|(?R))*)*)' . '<\/div>/sm'; if (preg_match_all($regex, $html_string, $matches, PREG_SET_ORDER)) { var_dump($matches); }
Output for git.master, git.master_jit, rfc.property-hooks
array(3) { [0]=> array(4) { [0]=> string(88) "<div id="foo"> This is a paragraph with <strong>Some nested tags</strong> </div>" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(68) " This is a paragraph with <strong>Some nested tags</strong> " } [1]=> array(4) { [0]=> string(77) "<div class="test" id="bar"> <div> And a nested div? </div> </div>" [1]=> string(21) "class="test" id="bar"" [2]=> string(4) "test" [3]=> string(44) " <div> And a nested div? </div> " } [2]=> array(4) { [0]=> string(70) "<div class="baz test"> <p> Pretty normal HTML. </p> </div>" [1]=> string(16) "class="baz test"" [2]=> string(8) "baz test" [3]=> string(42) " <p> Pretty normal HTML. </p> " } }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
50.91 ms | 403 KiB | 8 Q