PHP url validation + detection(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);
}
应该会处理好的。
这篇关于PHP URL验证+检测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!