如何获取包含"&"的参数符号
我有这个链接:
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
答案 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中提取任何内容。