Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证url并转换为协议格式_Php_Url - Fatal编程技术网

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。