关于php str_replace函数

时间:2012-01-26 05:58:42

标签: php str-replace

这是我的代码:

$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/...">

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无法使用str_replace。您可以使用preg_replace

进行尝试
preg_replace('~(src|href)="(?=/)~', '$1http://www.ifreewind.net', $contents);

但是,我强烈建议您改为使用an HTML parser