Php 验证url并转换为协议格式
我使用的是Php 验证url并转换为协议格式,php,url,Php,Url,我使用的是file\u get\u content($url),它不适用于从www开始的url 因此,如果用户输入的url格式不正确,我尝试附加http://,并将其转换为正确的格式 此代码不回显正确的url。这里有什么问题吗?为什么不用它来解决呢 为什么不用它来解决呢 检查此项 $url= 'www.google.com'; $pad = 'http://'; $cmp = 'www'; $prefix = substr($url , 0,3); if($cmp == $prefix
file\u get\u content($url)
,它不适用于从www
开始的url
因此,如果用户输入的url格式不正确,我尝试附加http://,并将其转换为正确的格式
此代码不回显正确的url。这里有什么问题吗?为什么不用它来解决呢
为什么不用它来解决呢
检查此项
$url= 'www.google.com';
$pad = 'http://';
$cmp = 'www';
$prefix = substr($url , 0,3);
if($cmp == $prefix)
{
echo str_pad($url, strlen($url)+7 ,"$pad",STR_PAD_LEFT);
}
检查这个
$url= 'www.google.com';
$pad = 'http://';
$cmp = 'www';
$prefix = substr($url , 0,3);
if($cmp == $prefix)
{
echo str_pad($url, strlen($url)+7 ,"$pad",STR_PAD_LEFT);
}
这就是您所需要的:
if (strpos($url, '://') === false)
$url = 'http://' . $url;
这就是您所需要的:
if (strpos($url, '://') === false)
$url = 'http://' . $url;
从什么时候开始“www”只有两个字符长了?是的,我是个新手,对吧。但是我知道
substr
的第三个参数是所需字符串的长度,而不是结束偏移量!不,从0开始需要2个字符!如果你需要证据来相信它:当600名代表称168000名代表为新手时,你一定会喜欢它。祝你好运,@Karimkhan@deceze和james:我道歉!你说得对。我非常感谢你们的努力。从什么时候开始“www”只有两个字符长了?是的,我是新手,对吧。但是我知道substr
的第三个参数是所需字符串的长度,而不是结束偏移量!不,从0开始需要2个字符!如果你需要证据来相信它:当600名代表称168000名代表为新手时,你一定会喜欢它。祝你好运,@Karimkhan@deceze和james:我道歉!你说得对。我非常感谢您的努力。谢谢,但我如何验证它是从“www”开始的,还是正确的entered@Karimkhan域不一定需要“www”。“www.google.com”并不比“google.com”更有效。事实上,有些域没有设置www子域,添加一个子域会破坏URL。谢谢,但是我如何验证它是从“www”开始的还是正确的entered@Karimkhan域不一定需要“www”。“www.google.com”并不比“google.com”更有效。事实上,有些域没有设置www子域,添加一个子域会破坏URL。