将网站的 URL 格式化为字符串,并在前面添加 http://
我有一个评论系统,允许自动链接网址。我正在使用 cakephp,但解决方案更多的是 PHP。这就是正在发生的事情。
如果用户使用 http://
或 https://
输入完全限定的 url,一切都很好。
但如果他们输入 www.scoobydoobydoo.com
,它就会变成 http://cool-domain.com/www.scoobydoobydoo.com
。基本上 cakephp 知道 http|https 是外部 url,因此它可以与 http|https 一起使用,否则不能。
我的想法是在 url 上做一些 str 的事情,并让它插入 http(如果不存在)。不幸的是,无论我尝试什么,只会让事情变得更糟。我是菜鸟:)感谢任何帮助/指示。
谢谢
编辑:发布解决方案片段。可能不是最好的,但感谢您的回答,至少我有一些东西。
<?php
$proto_scheme = parse_url($webAddress,PHP_URL_SCHEME);
if((!stristr($proto_scheme,'http')) || (!stristr($proto_scheme,'http'))){
$webAddress = 'http://'.$webAddress;
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试使用
parse_url
函数:http://php.net /manual/en/function.parse-url.php我认为这会对您有所帮助。
Try the
parse_url
function: http://php.net/manual/en/function.parse-url.phpI think this will help you.
我遇到了类似的问题,所以我创建了以下 php 函数:
如果您格式化以下内容:format_url('abcde.com'),结果将是 http://abcde.com。
I've had a similar issue, so I created the following php function:
if you format the following: format_url('abcde.com'), the result will be http://abcde.com.
这是正则表达式: https://stackoverflow.com/a/2762083/4374834
ps @Vangel,Michael McTiernan 的答案是正确,所以请先学习一下 PHP,然后再说,有些事情可能会失败:)
Here is the regex: https://stackoverflow.com/a/2762083/4374834
p.s. @Vangel, Michael McTiernan's answer is correct, so please, learn your PHP before you say, that something might fail :)