【问题标题】:how to add a prefix before external urls automatically in php如何在php中自动在外部网址之前添加前缀
【发布时间】:2013-04-26 12:14:32
【问题描述】:

我想通过重定向在新页面中打开每个外部 url。

这些外部链接将显示在我的页面上

www.pppexample.com
www.pp2example.com

我想以这种格式打开每个外部 url..

http://www.domain.com/redirector.php?url=http://www.anyexternalurl.com...

我目前正在使用 PHP 来执行此操作,但还没有弄清楚。

【问题讨论】:

  • 您想将其他网址的内容重定向或显示到您的页面中吗?
  • @RohitKumarChoudhary 实际上我想知道我的网站中打开了多少外部链接,这些链接将由 redirector.php?url= bcoz 完成,我会将其保存到数据库中,这可以节省我们的另一件事页面排名也是..
  • @RohitKumarChoudhary 我想打开外部链接的另一件事是抛出一个重定向页面。看看我可以创建重定向页面。但我无法制作一个脚本来自动检测它是一个外部 url,然后只需在其中添加一个重定向代码行 url
  • 好的,你必须将你网站中的每个链接重定向到你的redirect.php,在那里你可以获得$_GET['url']参数值。现在在此 redirect.php 中保持 1 秒,然后将所需信息插入数据库,然后重定向。对于保持 1 秒,您可以在标题中设置重定向时间。
  • 那些外部链接在哪里显示?在您的网页内容上?要不然是啥?能不能说的清楚一点?

标签: php url redirect hyperlink url-redirection


【解决方案1】:

auto_append_file 指令可以设置为在 PHP 主文件之后执行的文件。该文件可以解析输出缓冲区的内容,以您希望的方式修改链接并打印出修改后的 HTML。

【讨论】:

  • 有什么特别的事情,你不知道怎么做?
【解决方案2】:

您可以使用preg_replace() 函数来执行此操作。 由于 StackOverflow 中已经存在已回答的问题。请参考 How to mimic StackOverflow Auto-Link Behavior 和这个http://css-tricks.com/snippets/php/find-urls-in-text-make-links/

【讨论】:

  • 我相信 OP 是在询问如何向现有链接添加内容,而不是用链接替换页面中的文本
  • 是的,安杰尔。假设我输入www.facebook.com -- 然后脚本将附加(或者在我的情况下将 preg_replace 它)<a href='refirector.php?url=facebook.com'>http://www.facebook.com</a>
【解决方案3】:

preg_replace 可能太慢了。 你可以使用这个:

if ('http' === substr($url, 0, 4)) {
    //external
    $url = 'http://example.com/redirect.php?url=' . $url;
}

【讨论】:

    【解决方案4】:

    如果您要在不编辑所有页面的情况下执行此操作,那么一种解决方案是

    使用auto_prepend_file 开始输出缓冲参见ob_start()

    使用auto_append_file read the contents of the output buffer 并使用preg_replace() 将链接替换为您想要的文本

    然后将替换的内容提供给最终用户

    【讨论】:

      猜你喜欢
      • 2014-12-11
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 2013-09-13
      • 2015-05-25
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      相关资源
      最近更新 更多