我想通过重定向在新页面中打开每个外部 url。
这些外部链接将显示在我的页面上
www.pppexample.com
www.pp2example.com
我想以这种格式打开每个外部网址..
http://www.domain.com/redirector.php?url=http://www.anyexternalurl.com...
我目前使用 PHP 来执行此操作,但还没有弄清楚。
我想通过重定向在新页面中打开每个外部 url。
这些外部链接将显示在我的页面上
www.pppexample.com
www.pp2example.com
我想以这种格式打开每个外部网址..
http://www.domain.com/redirector.php?url=http://www.anyexternalurl.com...
我目前使用 PHP 来执行此操作,但还没有弄清楚。
该auto_append_file
指令可以设置为在您的主 PHP 文件之后执行的文件。该文件可以解析输出缓冲区的内容,以您希望的方式修改链接并打印出修改后的 HTML。
preg_replace 可能太慢了。你可以使用这个:
if ('http' === substr($url, 0, 4)) {
//external
$url = 'http://example.com/redirect.php?url=' . $url;
}
如果您要在不编辑所有页面的情况下执行此操作,那么一种解决方案是
使用auto_prepend_file开始输出缓冲参见ob_start()
使用auto_append_file 读取输出缓冲区的内容并使用preg_replace()将链接替换为您想要的文本
然后将替换的内容提供给最终用户
您可以使用preg_replace()
函数来执行此操作。由于 StackOverflow 中已经存在已回答的问题。请参考它
如何模仿 StackOverflow 自动链接行为和这个http://css-tricks.com/snippets/php/find-urls-in-text-make-links/