1

我需要替换 curl 获取的页面中的 url 并添加正确的链接。我的 php curl 代码是:

<?php

$string = '<a href="http://host.org"><img src="./sec.png"></a>';

$string = preg_replace('/href="(http:\/\/([^\/]+)\/)?([^"]+)"/', "href=\"http://google.com/\\3\"", $string);

echo $string;

?>

当链接为“a”时,它会切断所有链接,只留下 href 值。

//from
<a href="http://host.org"><img src="./sec.png"></a>

//to BUGgg when href fix make :
<a href="http://google.com/./sec.png"></a>

任何机构都可以帮助解决它。

4

2 回答 2

2

以下 preg_replace 应该可以工作:

preg_replace('/href="(http:\/\/[^\/"]+\/?)?([^"]*)"/', "href=\"http://google.com/\\2\"", $result);
于 2013-10-04T21:30:32.170 回答
1

从您的正则表达式中删除这个不必要的部分:([^/]+)/

于 2013-10-04T21:28:21.213 回答