我有一个表单可以从用户那里获取一些网址。
例如:网址,facebook地址,推特地址等。然后我需要检查用户是否可以输入协议作为地址的一部分。如果协议不是提交的URL我需要添加协议。
在这种情况下,它是http://
。有时用户可能会错误地输入协议。
例如 htttp:/, http//, htp://
等。
有了这个问题,我需要知道有没有办法完全删除用户输入的协议,并添加带有该URL的新协议以插入数据库。
我写了一些代码来检测提交的URL有一个协议..它的工作很少我期待但不是100%。
$url = 'www.example.com';
$checkProtocol = strpos($url, '://');
if (false === $checkProtocol ) {
$url = 'http://' . $url;
echo 'This is new URL : ' . $url;
} else {
echo 'Invalid';
}
假设$ url有htp://www.example.com
它成为无效的网址..没有分配协议。
希望有人帮助我。
谢谢。
答案 0 :(得分:1)
如果你想处理所有情况,你可能只想假设网页缺少http://
或者网页格式不正确,只需在清理完字符串后添加它:
$url = 'htp://www.example.com';
$fixed_url = 'http://' . preg_replace('#^.*://#', '', $url);