【代码】
$str= <<<EOD
HTML...
<object width="425" height="350">
<param name="movie" value="http://www.atungm.com/v/AyPzM5WK8ys" />
<embed src="http://www.atungm.com/v/AyPzM5WK8ys" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" ></embed>
</object>
HTML...
EOD;$reg1='/<object[^>]*>(.(?!<embed))*/s';
$reg2='/<embed(.+<\/embed>|[^>]+>)/s';
$reg3='/<object[^>]*>(.(?!<embed))*<embed(.+<\/embed>|[^>]+>)/s';preg_match ($reg1,$str,$out1);
preg_match ($reg2,$str,$out2);
preg_match ($reg3,$str,$out3);echo "$str\n\n\n<pre>";
print_r($out1);
print_r($out2);
print_r($out3);【输出】
HTML...
<object width="425" height="350">
<param name="movie" value="http://www.atungm.com/v/AyPzM5WK8ys" />
<embed src="http://www.atungm.com/v/AyPzM5WK8ys" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" ></embed>
</object>
HTML...
<pre>
Array
(
  [0] => <object width="425" height="350">
<param name="movie" value="http://www.atungm.com/v/AyPzM5WK8ys" />
  [1] => 
)
Array
(
  [0] => <embed src="http://www.atungm.com/v/AyPzM5WK8ys" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" ></embed>
  [1] => src="http://www.atungm.com/v/AyPzM5WK8ys" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" ></embed>
)
Array
(
)【问题】
正则表达式1、正则表达式2分别准确完整地匹配到目标字符串的前后两部分;
正则表达式3是正则表达式1、正则表达式2的整合,却出现了问题,匹配不到内容;
尝试了好久也找不出,正则表达式1、正则表达式2之间有什么冲突的地方?我只有14分资源分,全部给了也就这么多了。
不知道哪位高手能指导一下?