1

$linkと$textの2つのパラメーターを取得するphpページがあります。例内のすべてのパラメーターを含む$linkパラメーターを取得します。

test.php?link = www.google.com?test = test&test2 = test2&text = testtext

リンクを取得したい='www.google.com?test = test&test2=test2'そしてテキストを取得したい=testtext

私はこのphpスクリプトを使用します

<?php

      $text = $_GET['text']; 
      $link = $_GET['link'];

      echo  $text;
      echo  $link;

?>

output

testtext
www.google.com?test=test
4

3 に答える 3

3

GETで使用する前に、パラメータをエンコードする必要があります。

echo '<a href="test.php?link=' . urlencode('www.google.com?test=test&test2=test2') . '&text=' . urlencode('testtext') . '">test</a>';

このように、グーグル変数とあなたのものの間に競合はありません。

詳細については、 urlencode()のマニュアルを参照してください。

于 2012-09-09T14:55:17.687 に答える
0

URLをパラメータとして渡したい場合は、エスケープする必要があります。それ以外の場合、パラメーターはスクリプト内のパラメーターとして表示され$_GETます。

次を使用してリンクを生成する必要がありますurlencode()

$link = "test.php?link=".urlencode("www.google.com?test=test&test2=test2")."&text=" . urlencode("testtext");

文字列を使用する場合も引用符を使用します。

$text = $_GET['text']; 
$link = $_GET['link'];
于 2012-09-09T14:52:29.733 に答える
0
$link_mod = str_replace("?", "&", $_GET['link']);
$array = explode("&", $link_mod);
unset($array[0]); #get rid of www.google.com segment
$segments = array();
foreach ($array as $line) {
   $line_array = explode('=', $line);
   $key = $line_array[0];
   $value = $line_array[1];
   $segments[$key] = $value;
}
print_r($segments);
于 2012-09-09T14:52:43.883 に答える