CodeIgniter中的外部链接

Jul*_*n25 2 codeigniter

我有以下代码:

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

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

Col*_*ock 5

是的,根据文档,anchor()根据您网站的网址创建链接.

如果URL的前缀是按预期工作http://,但是您有时会添加用户http://而有时无法添加,您只需检查链接以确定它是否正常,或者是否需要添加前缀.这是一个基本的例子strpos:

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

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

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

$url = "example.com";

$url = prep_url($url);
Run Code Online (Sandbox Code Playgroud)