php不用正则表达式处理html中的图片链接
在不使用正则表达式的情况下,可以使用 PHP 的DOMDocument
类来处理 HTML 中的图片链接。以下是一个示例:
$html = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAB4CAYAAAAddCx+AAAKo0lEQVR4Ae2dLXPyWheG8y+QlY+sRCIrKysrK5H9CZXISmaOQSKRSNzBnJnOHFAASUVORK5CYII=" alt="">';
$dom = new DOMDocument();
@$dom->loadHTML($html);
$imgs = $dom->getElementsByTagName('img');
foreach ($imgs as $img) {
if (strpos($img->getAttribute('src'), 'base64')!== false) {
$img->setAttribute('src', 'http://www.xx.com/1.jpg');
}
}
echo $dom->saveHTML();
在这个例子中,首先创建一个DOMDocument
对象,然后加载 HTML 内容。接着,通过getElementsByTagName
方法获取所有的<img>
标签元素。遍历这些元素,检查src
属性是否包含base64
,如果是,则将其替换为指定的新链接。最后,使用saveHTML
方法输出修改后的 HTML 内容。