当前图片看起来像
<img src="images/example.jpg" />
现在,如果img src
没有alt=""
,则代码本身会替换图像
<img src="images/example.jpg" alt="" />
如何用php完成?
答案 0 :(得分:4)
假设图像始终遵循该格式,最快的解决方案是:
$search = '/<img src="([^"]+)" \/>/';
$replace = '<img src="$1" alt="" />';
$code = preg_replace( $search, $replace, $code );
但是,我会质疑你的动机。添加空白alt标签是毫无意义的。
答案 1 :(得分:1)
以下是使用SimpleXML执行此操作的示例。
<?php
$html = '<html>
<body>
<img src="foo.jpg" />
</body>
</html>';
$xml = new SimpleXMLElement($html);
foreach ($xml->xpath('//img') as $img) {
if (!array_key_exists('alt', $img->attributes())) {
$img->addAttribute('alt', '');
}
}
echo $xml->asXML();
输出将是:
<?xml version="1.0"?>
<html>
<body>
<img src="foo.jpg" alt=""/>
</body>
</html>
答案 2 :(得分:0)
如果它是有效的XML,你可以使用任何体面的XML解析器(例如SimpleXML),解组源,遍历树寻找图像标签,尝试查找属性并设置它(如果它不存在),以及再来一个xml ......
应该是10行左右...
祝你好运...... :)