PHP URL验证+检测
所以这是我需要做的。
如果用户输入http://site.com
我需要删除http://
,则字符串将site.com
;如果用户输入http://www.site.com
我需要删除http://www.
,或者如果用户输入www.site.com
,我需要删除www.
,或者他也可以输入site.com
。
我这里有一个函数,但不能按我想要的方式工作,而且我的正则表达式很差。
preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $_POST['link'])
解决方案
我认为我不会为此使用正则表达式,因为您实际上只是检查字符串开头的内容。所以:
$link = $_POST['link'];
if (stripos($link, 'http://') === 0)
{
$link = substr($link, 7);
}
elseif (stripos($link, 'https://') === 0)
{
$link = substr($link, 8);
}
if (stripos($link, 'www.') === 0)
{
$link = substr($link, 4);
}
应该会处理好的。
相关文章