我有以下代码:
<div><strong>Name: </strong><?php echo anchor('http://'.$link, $row->Name); ?></div>
它需要用户输入链接($link)并将 url 放入锚标记中。但是,它不会重定向到外部链接,而只是使用存储的 URL 修改站点的基本 URL。我试图将“http://”添加到提交的链接的开头,除非用户已经在链接输入中提供了 http,否则该链接有效。任何关于如何克服这个问题的建议都会很棒。
我有以下代码:
<div><strong>Name: </strong><?php echo anchor('http://'.$link, $row->Name); ?></div>
它需要用户输入链接($link)并将 url 放入锚标记中。但是,它不会重定向到外部链接,而只是使用存储的 URL 修改站点的基本 URL。我试图将“http://”添加到提交的链接的开头,除非用户已经在链接输入中提供了 http,否则该链接有效。任何关于如何克服这个问题的建议都会很棒。
是的,根据文档,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);