我已经获取了一个HTML页面,我如何用这些URL绝对替换相对的img src?
在我的内容html中:
<img width="23" height="23" class="img" src="/static/img/facebook.png" alt="Facebook">
<img width="23" height="23" class="img" src="/static/img/tw.png" alt="tw">
(路径不稳定)
<img width="130" =="" height="200" alt="" src="http://otherdomain/files/ads/00905819.gif">
在html内容中我有其他图像src与绝对src,我想只更改相对src图像。 例如:
<img width="23" height="23" class="img" src="/static/img/facebook.png" alt="Facebook">
<img width="23" height="23" class="img" src="/images/xx.png" alt="xxx">
到
<img width="23" height="23" class="img" src="http://example.com/static/img/facebook.png" alt="Facebook">
我的preg_replace:
$html = preg_replace("(]*src\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)", '$1http://www.example.com$2$3', $x1);
但这会替换所有图像src
答案 0 :(得分:1)
如果你知道你的相对路径总是以'/static/img/'
开头,那么你可以使用简单的str_replace
函数而不是regexp。
例如:
$html = str_replace('src="/static/img/', 'src="http://example.com/static/img/', $html);
答案 1 :(得分:1)
尝试使用此代码, 它应该适合你的情况。
$html = str_replace('src="/static', 'src="http://example.com/static', $html);