-3

重複の可能性:
欠落している場合はURLにhttp://プレフィックスを追加します

私はこのコードを次のように使用しています:

<?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

4 に答える 4

0

$_GET['i'] を確認して、http でのみ受け入れることができます。

例えば:

「http://」には 7 文字 + 最小の URL 「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
于 2012-12-19T09:09:19.277 に答える
0

次のように使用します。

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

またはエコーステートメントとして:

echo (strpos("http://", $_GET['i']) !== 0) ? "http://" . $_GET['i'] : $_GET['i'];
于 2012-12-19T09:10:50.260 に答える
0

上記の http URL をクエリ文字列に動的に生成する場合は、php 内で urlencode または rawurlencode 関数を使用してクエリ文字列を URL に連結し、http get ($_GET['i']) を使用してリクエストで受け入れます。

それがうまくいくことを願っています。

于 2012-12-19T09:12:13.497 に答える
0

stristr() 関数を使用します。

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

次に、文字列に「http」が含まれます。

于 2012-12-19T09:12:32.623 に答える