假设我有一个包含HTML标记的字符串,其中包含许多img标记,如下所示:
<img src="data/images/original/3.png" alt="" />
Run Code Online (Sandbox Code Playgroud)
我需要一个正则表达式,可以将所有图像更改为具有以下路径:
<img src="/utils/locate-image?path=data%2Fmedia%2Fimages%2Foriginal%2F3.png" alt="" />
Run Code Online (Sandbox Code Playgroud)
我对正则表达式不是很好,所以我很欣赏一些可以做到这一点的代码示例?
不要为此使用正则表达式.PHP的原生DOM解析器应该是完美的工作.
$dom = new DOMDocument;
$dom->loadHTML('<img src="foo" alt=""/>');
$images = $dom->getElementsByTagName('img');
foreach($images as $image) {
$image->setAttribute('src', 'bar');
echo $dom->saveXML($image);
}
Run Code Online (Sandbox Code Playgroud)
回声 <img src="bar" alt=""/>