1

我有一个表格可以从用户那里获取一些网址。

例如:网址、facebook 地址、twitter 地址等。然后我需要检查用户可能会或可能不会输入协议作为地址的一部分。如果协议不是提交的 url,我需要向它添加协议。

在这种情况下,它是http://。有时用户可能会错误地键入协议。

例如。 htttp:/, http//, htp://ETC..

对于这个问题,我需要知道是否有任何方法可以完全删除用户输入的协议,并使用该 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成为无效的 url .. 没有分配协议。

希望有人帮助我。

谢谢你。

4

1 回答 1

1

如果您想处理所有情况,您可能只想假设 URL 丢失http://或格式错误,并在清除字符串后在所有情况下添加它:

$url = 'htp://www.example.com';
$fixed_url = 'http://' . preg_replace('#^.*://#', '', $url);
于 2013-01-15T18:11:25.007 回答