PHP预浸料匹配/替换?
我需要读取字符串$mysting并替换e.x的所有事件。
<img src="dummypic.jpg alt="dummy pic">
与
<img src="dummypic.jpg alt="dummy pic" title="dummy pic">
换句话说,在缺少的地方添加标题,并使title标记与alt标记具有相同的值。
某些事件可能有附加参数,如BORDER、WITH、HEIGHT,这些参数应该保持不变.
解决方案
您可以使用phpQuery或QueryPath执行此操作:
$qp = qp($html);
foreach ($qp->find("img") as $img) {
$img->attr("title", $img->attr("alt"));
}
print $qp->writeHTML();
尽管在此简单情况下求助于正则表达式可能是可行的:
preg_replace('#(<imgs[^>]*)(alt=)("[^"]+")#', '$1$2$3 title=$3', $h);
(使用PREG_REPLACE_CALLBACK确保不存在title=属性会更有意义。)
相关文章