这是我的代码:
$search = array('<script src="/',
'<link href="/',
'<a href="/',
'<img src="/',
'src="/');
$d = 'http://www.ifreewind.net';
$replace = array('<script src="'.$d.'/',
'<link href="'.$d.'/',
'<a href="'.$d.'/',
'<img src="'.$d.'/',
'src="'.$d.'/');
$result = str_replace($search, $replace, $contents);
echo $result;
这些代码存在的问题是它们无法替换img
标记,例如:
<img width="50px" src="/...">
进入
<img width="50px" src="http://www.ifreewind.net/...">
如何解决这个问题?
答案 0 :(得分:1)
您无法使用str_replace
。您可以使用preg_replace
:
preg_replace('~(src|href)="(?=/)~', '$1http://www.ifreewind.net', $contents);
但是,我强烈建议您改为使用an HTML parser。