php用preg_replace把img标签里的src替换成别的网址
以下是使用 PHP 的preg_replace
函数将给定的<img>
标签中的src
属性值替换为http://www.xx.com/1.jpg
的代码:
$html = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAB4CAYAAAAddCx+AAAKo0lEQVR4Ae2dLXPyWheG8y+QlY+sRCIrKysrK5H9CZXISmaOQSKRSNzBnJnOHFAASUVORK5CYII=" alt="">';
$newHtml = preg_replace('/src=".*?"/', 'src="http://www.xx.com/1.jpg"', $html);
echo $newHtml;
上述代码首先定义了一个包含<img>
标签的字符串,然后使用preg_replace
函数进行正则表达式替换,将src
属性值替换为指定的 URL。
请注意,使用正则表达式进行 HTML 处理可能存在一些局限性,并且在实际应用中,更好的方法可能是使用专门的 HTML 解析库来操作 HTML 内容,以确保准确性和稳定性。例如,可以使用DOMDocument
类来处理 HTML。以下是使用DOMDocument
的示例:
$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) {
$img->setAttribute('src', 'http://www.xx.com/1.jpg');
}
echo $dom->saveHTML();