PHP正则-多个span标签问题
<span style="color: #ff0000;"><span style="font-size: medium;"><strong>This is fake headline</strong></span></span>
如何提取标签,让上面的代码变成
[color="color: #ff0000;"][font-size="medium;"]
This is fake headline[/font-size][/color]
当<span style="color: #ff0000;"><span style="font-size: medium;">这两标签相互颠倒的时候,问题就来了,因为他们的结束标签都是一样的,让人抓狂,有什么解决方法么。
------解决方案--------------------使用preg的贪婪模式
------解决方案--------------------<?php
$str = '<span style="color: #ff0000;"> <span style="font-size: medium;"> <strong>This is fake headline </strong> </span> </span>';
preg_match_all('/<span style=".*?>/',$str,$o);
foreach($o as $e){
foreach($e as $l){
echo htmlentities($l).'<br/>';
}
}
?>
这样就能取到你所要的,然后再匹配一下(对上面的$l进行匹配)就可以了;