验证URL并转换为协议格式

时间:2013-11-26 10:35:19

标签: php url

我正在使用file_get_content($url),它不适用于从www开始的网址。

因此,如果用户输入的网址格式不正确,我会尝试附加http://并转换为正确的格式。

Check DEMO HERE

<?php

$url= 'www.google.com';
$pad = 'http://';
$cmp = 'www';
$prefix = substr($url , 0,2);
if($cmp == $prefix)
{
     echo str_pad($url, strlen($url)+3 ,"$pad",STR_PAD_LEFT);
}

?>

此代码不回显正确的网址。这里有什么问题吗?

3 个答案:

答案 0 :(得分:4)

为什么不使用parse_url来解决这个问题?

$url = "www.example.com/test.php";
$parsedUrl = parse_url($url);

if(!array_key_exists('scheme', $parsedUrl)){
    $url = "http://" . $url;
}

echo $url;

codepad example.

答案 1 :(得分:1)

检查这个

$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);
}

答案 2 :(得分:1)

这就是你所需要的:

if (strpos($url, '://') === false) 
    $url = 'http://' . $url;