php正则提取数据
$str='
<span>
<span class="pl">
表演者:
Various Artists
</span>
</span>
<br>
<span class="pl">版本特性:</span> Clean
<br>
<span class="pl">介质:</span> Audio CD
<br>
<span class="pl">发行时间:</span> 2012-12-18
<br>
<span>
<span class="pl">
出版者:
Universal Republic
</span>
</span>
<br>
<span class="pl">唱片数:</span> 1
<br>
<span class="pl">条型码:</span> 0602537260263
<br>
<span class="pl">相关电影:</span>
被解放的姜戈
';
preg_match_all('/<span\s*class="pl">(.*?)<\/span> (.*?)\s*<br[\/]*>/is',$str,$att);
要输出以下结果
表演者: Various Artists
版本特性: Clean
介质: Audio CD
发行时间: 2012-12-18
出版者: Universal Republic
唱片数: 1
条型码: 0602537260263
相关电影: 被解放的姜戈
我哪个正则有点问题,匹配不正确。请指教
[解决办法]
preg_match_all('/<span\s*class="pl">\s*([^:]+):(<\/span> )?\s*([^<]+)/is',$str,$att);