处理html富文本的时候,碰到批量处理img标签,要把img标签格式化,并且去除不用的代码,class,各种data-等,首先想到使用正则匹配,然后处理匹配到的img标签和参数,经过一番尝试终于搞定了,代码如下:
<?php
$content = '<br/><img mime="image/jpeg" class="img-scroll" data-img="xxx" src="src-xxx"/><br/>';
$regImg = '/<img[^>]*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)(\">|\"\/>)/i';
$res = preg_match_all($regImg,$content,$matchAll);
print_r($res);
print_r($matchAll);
?>
运行结果:
Array
(
[0] => Array
(
[0] => <img mime="image/jpeg" class="img-scroll" data-img="xxx" src="src-xxx"/>
)
[1] => Array
(
[0] => src-xxx
)
[2] => Array
(
[0] => "/>
)
)
备注:
匹配的img标签都是以"/>或者">结束,如有不同和自行修改正则。
done!