GET和filter_input在"#"停止。符号

时间:2016-05-24 11:23:01

标签: php get filter-input

我有以下网址

http://www.example.com/check.php?q=498#2D83B631%3800EBD!801600D*7E3CC13

然后我尝试

<?php var_dump( $_GET); ?>

<?php
echo $my_string = filter_input(INPUT_GET, 'q', FILTER_SANITIZE_STRING);
?>

但他们似乎都停留在&#34;#&#34;符号,仅显示498。有没有办法检索整个498#2D83B631%3800EBD!801600D*7E3CC13

2 个答案:

答案 0 :(得分:1)

在服务器上,您只能获得<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" version="1.0" exclude-result-prefixes="xalan"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="2" /> <xsl:template match="/"> <xsl:copy-of select="." /> </xsl:template> </xsl:stylesheet> 之前的网址。如果你想要#之后的值,你需要一些客户端脚本来获取网址。

如果这是#的值,则应首先使用q进行编码。这样您就可以从urlencode()

获得所有价值

您的网址应如下所示:http://www.example.com/check.php?q=498%232D83B631%253800EBD!801600D * 7E3CC13

要解码网址,您可以使用q

答案 1 :(得分:0)

片段根本不会发送到服务器。

https://en.wikipedia.org/wiki/Fragment_identifier

  

当代理(例如Web浏览器)从Web服务器请求Web资源时,&gt;代理将URI发送到服务器,但不发送片段。

将数据作为另一个GET参数传递将是一个可行的替代方案。