3v4l.org

run code in 300+ PHP versions simultaneously
<?php $htmls = [ "<p><div><p>aaaaaa</p></div></p>", "<div><p>aaaaaa</p></div>", "<p>aaaaaa</p><div>bbbbbb</div>", "<p>aaaaaa</p><div>bbbbbb</div><p>cccccc</p>", "<p>aaaaaa</p><p>bbbbbb</p>", "<p>hello<p>aaaaaa</p></p>", "<p><p>aaaaaa</p></p>" ]; foreach ($htmls as $i => $html) { $without_ptags = preg_replace('~<p>(?:(?R)|.*?)*</p>~', '', $html, 2, $count); if ($without_ptags === '' && $count == 1) { echo "$i => ", substr($html, 3, -4); }else{ echo "$i => not wrapped in p tags"; } echo "\n---\n"; }

preferences:
42.89 ms | 405 KiB | 5 Q