2

我有以下代码:

<div><strong>Name: </strong><?php echo anchor('http://'.$link, $row->Name); ?></div>

它需要用户输入链接($link)并将 url 放入锚标记中。但是,它不会重定向到外部链接,而只是使用存储的 URL 修改站点的基本 URL。我试图将“http://”添加到提交的链接的开头,除非用户已经在链接输入中提供了 http,否则该链接有效。任何关于如何克服这个问题的建议都会很棒。

4

1 回答 1

6

的,根据文档anchor()根据您网站的 URL 创建链接。

如果在 URL 带有前缀时一切正常http://,但是您遇到用户有时添加http://有时不添加的问题,您可以简单地检查链接以确定它是否正常,或者是否需要添加前缀。这是一个使用的基本示例strpos

if(strpos($link, 'http') === FALSE){
    // link needs a prefix...
    $link = 'http://' . link;
} else {
    // link is ok!
}

...使用 CodeIgniter 的prep_url()功能(感谢@cchana提醒我!):

如果 URL 中缺少方案,此函数将添加 http://。将 URL 字符串传递给函数,如下所示:

$url = "example.com";

$url = prep_url($url);
于 2012-04-05T04:04:21.687 回答