<?php
$str = <<<str
<div id="new1"> <div id="new2"> <h3> 我是文字 </h3> <span></span> </div> </div>
str;
preg_match_all("|.*(?=<[^>]+>)|iU",$str,$match);
print_r($match);
?>
目标是去掉各标签之间的空格,比方
<div id="new1"> <div id="new2"> -> <div id="new1"><div id="new2">
<h3> 我是文字 </h3> -> <h3>我是文字</h3>
$str = <<<str
<div id="new1"> <div id="new2"> <h3> 我是文字 </h3> <span></span> </div> </div>
str;
echo preg_replace("/(?<=>)\s+|\s+(?=<)/", '', $str);
?>