我需要查看一串HTML并更改所有< img>标签,其中src属性是相对地址,绝对URL.所以这:
需要成为:
而忽略< img> src属性已经是绝对的标签.
我正在使用PHP并假设我需要通过preg_replace()运行它.救命!谢谢!
解决方法:
这不是正则表达式的工作.这是XML / DOM解析器的工作.
我会给DOMDocument一个机会.
$DOM = new DOMDocument;
$DOM->loadHTML($html);
$imgs = $DOM->getElementsByTagName('img');
foreach($imgs as $img){
$src = $img->getAttribute('src');
if(strpos($src, 'http://sitename.com/path/') !== 0){
$img->setAttribute('src', "http://sitename.com/path/$src");
}
}
$html = $DOM->saveHTML();
标签:php,regex,preg-replace
来源: https://codeday.me/bug/20190729/1573400.html