我想通过重定向打开新页面中的每个外部网址。
这些外部链接将显示在我的页面上
www.pppexample.com
www.pp2example.com
我想以这种格式打开每个外部网址。
http://www.domain.com/redirector.php?url=http://www.anyexternalurl.com...
我目前正在使用PHP来做这件事,但还没弄明白。
答案 0 :(得分:0)
auto_append_file
指令可以设置为在主PHP文件之后执行的文件。该文件可以解析输出缓冲区的内容,以您希望的方式修改链接并打印出修改后的HTML。
答案 1 :(得分:0)
您可以使用preg_replace()
功能执行此操作。
由于StackOverflow中已经存在已经回答的问题。请参考它
How to mimic StackOverflow Auto-Link Behavior和此http://css-tricks.com/snippets/php/find-urls-in-text-make-links/
答案 2 :(得分:0)
preg_replace可能太慢了。 你可以用这个:
if ('http' === substr($url, 0, 4)) {
//external
$url = 'http://example.com/redirect.php?url=' . $url;
}
答案 3 :(得分:0)
如果您打算在不编辑所有页面的情况下执行此操作,则可以使用一种解决方案
使用auto_prepend_file开始输出缓冲,请参阅ob_start()
使用auto_append_file read the contents of the output buffer并使用preg_replace()
将链接替换为您想要的文字然后将重新放置的内容提供给最终用户