我有很多新闻项目的数据库,我有这样的相对网址
/index.php?news etc...
我需要将这些网址转换为绝对网址,如下所示:
http(or - s)//example.com/index.php?news etc..
此外,我有这个代码,它的工作原理
$regex = '~<a([^>]*)href=["\']([^"\']*)["\']([^>]*)>~';
$replace = '<a$1href="'. $absolute_url .'/$2"$3>';
$data->introtext = preg_replace($regex, $replace, $news->introtext);
其中$news->introtext
是我的文字,有许多链接,例如:
<a href="/index.php">some text</a> some text here <a href="https://facebook.com/etc">
代码的工作原理如下:
<a href="http://example.com/index.php">some text</a> some text here <a href="http://example.com/https://facebook.com/etc">
如果链接类似http://example.com/
,我不想添加https://facebook.com/etc答案 0 :(得分:0)
找到好方法:
$data->introtext = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)#", '$1http://example.com/$2$3', $news->introtext);
如果网址未退出,则添加网址