我有以下代码:
<div><strong>Name: </strong><?php echo anchor('http://'.$link, $row->Name); ?></div>
用户输入链接($ link)并将网址放入锚标记。但是,它不会重定向到外部链接,而只是修改具有存储URL的站点的基本URL。我试图添加&#39; http://&#39;到提交链接的开头,除非用户已在链接输入中提供了http。关于如何克服这个问题的任何建议都会令人惊讶。
答案 0 :(得分:5)
是的,per the documentation,anchor()
根据您网站的网址创建链接。
如果网址以http://
为前缀,但事情按预期工作,但您有时会添加http://
而有时无法添加if(strpos($link, 'http') === FALSE){
// link needs a prefix...
$link = 'http://' . link;
} else {
// link is ok!
}
,您可以只需检查链接以确定是否可以,或者你需要加前缀。以下是使用 strpos
的基本示例:
prep_url()
击> <击> 撞击>
...使用CodeIgniter的$url = "example.com";
$url = prep_url($url);
功能(感谢@cchana提醒我!):
如果URL中缺少方案,此函数将添加http://。将URL字符串传递给函数,如下所示:
{{1}}