我有一些HTML,想要替换所有img标记的“ src”属性,以便它们指向另一台主机上相同图像的副本(尽管具有不同的文件名).
因此,例如,鉴于这三个标签
我希望将它们替换为
我知道这有一些正则表达式的法宝,只是不确定它应该是什么样(或者如果这实际上是最好的方法).
解决方法:
我尝试使用SimpleHTMLDOM做到这一点,它似乎可以工作:
$html = str_get_html( ... ); // what you have done
$map = array(
"../graphics/pumpkin.gif" => "http://myhost.com/cache/img001.gif",
"redball.gif" => "http://myhost.com/cache/img002.gif",
"http://www.crunch.com/pic.jpg" => "http://myhost.com/cache/img003.gif",
);
foreach ($html->find("img") as $element) {
if (isset($map[$element->src])) {
$element->src = $map[$element->src];
}
}
echo $html;
PS:如果您需要澄清问题,则应编辑原始问题,而不要打开一个新的identical question.
标签:php,regex
来源: https://codeday.me/bug/20191011/1893240.html