我正在使用这样的代码:
<?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://
以防丢失?
答案 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 (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'。