如何添加文本以防缺少回显$ _GET

时间:2012-12-19 09:04:52

标签: php javascript get

  

可能重复:
  Add http:// prefix to URL when missing

我正在使用这样的代码:

<?php echo $_GET['i']; ?>

myweb.com/sample.php?i=http://sample.com

但我想确保它总是http://以防万一这是myweb.com/sample.php?i=sample.com

如何制作此代码<?php echo $_GET['i']; ?>确保始终添加http://以防丢失?

4 个答案:

答案 0 :(得分:0)

您可以查看$ _GET ['i']并仅接受http:

例如:

'http://'包含7个字符+最小的网址'w.xx'包含4个字符

因此,$ _GET [i]的最小长度为11个字符

if(!empty($_GET['i']))
{

    $len = strlen($_GET['i']);
    if($len > 10 and  substr($_GET['i'], 0, 7) === 'http://')
    {     
        [... some of your code ?]
    }
    else if ($len > 3)
    {

        //force add http://
        $_GET['i'] = 'http://'.$_GET['i'];
     }

     unset($len);
}
else
{
    $_GET['i'] = 'No url?';
}

// <-- Place for your echo

答案 1 :(得分:0)

使用这种方式:

<?php
    if (strpos("http://", $_GET['i']) !== 0)
        $_GET['i'] = "http://" . $_GET['i'];
?>

或作为echo语句:

echo (strpos("http://", $_GET['i']) !== 0) ? "http://" . $_GET['i'] : $_GET['i'];

答案 2 :(得分:0)

如果你在你的查询字符串中动态生成上面提到的http url,请在php中使用urlencode或rawurlencode函数将查询字符串连接到你的url,然后使用http get($ _GET ['i'])接受请求

希望它适合你。

答案 3 :(得分:0)

使用stristr()函数。

$url = stristr($_GET['i'],'http://');
if($url != '')

然后字符串包含'http'。