GET参数如何包含&符号

时间:2015-09-11 18:13:33

标签: php

如何获取包含"&"的参数符号

我有这个链接:

http://localhost/htaccess/search.php?term=A&B

我的PHP代码是:

<?php
if(!empty($_GET["term"]))
    echo $_GET["term"];
?>

我想在结果中获得 A&amp; B ,但只获得 A

stackoverflow中也存在此问题, 看: https://stackoverflow.com/search?q=A&B

2 个答案:

答案 0 :(得分:2)

如果仅使用一个参数修复了网址,则以下代码可以正常工作。因为它需要网址的长度,并且来自&quot; term =&#39;它会打印所有。

 <?php
    $url="http://localhost/htaccess/search.php?term=A&B";
    $term_pos = strpos ($url, 'term');
            if(strpos($url,'?'))
                $term = substr($url, $term_pos+5, strlen($url));
            echo $term;
    ?>

如果您的要求更多。把它评论。我会根据它更新代码。

答案 1 :(得分:1)

您无法使用$_GET获取所需参数,因为&中的term=A&B会将B变为名为B的新空参数。 如果您需要获取term参数以包含整个A&amp; B而不包含urlencoding&amp;,则需要手动解析URI。

要获取原始URI,您可以使用$_SERVER['REQUEST_URI']。 在您的情况下,这将设置为/htaccess/search.php?term=A&B。现在,您可以自由地从URI中提取任何内容。