【发布时间】:2009-07-07 23:23:53
【问题描述】:
我通过GET方法发送了一个文本来解码html实体( w = w )
> ?text=w&type=htmldecode&format=text
我在 $text 变量中遇到错误,然后我尝试在链接的最后一个设置它
?format=text&type=htmldecode&text=w
我也遇到了同样的错误
我该如何解决?
【问题讨论】:
我通过GET方法发送了一个文本来解码html实体( w = w )
> ?text=w&type=htmldecode&format=text
我在 $text 变量中遇到错误,然后我尝试在链接的最后一个设置它
?format=text&type=htmldecode&text=w
我也遇到了同样的错误
我该如何解决?
【问题讨论】:
有 2 种类型的编码与您的问题相关。 HTML escape characters 和 URL escape chars。
如果 HTML 页面中有字符,则使用 HTML 转义字符。例如
w = w
但您不能在 URL 中使用这些字符 - & 和 # 在 URL 中具有特殊含义。所以你必须再次编码 - 这次使用 URL 转义字符。
# = %23
& = %26
; = %3B
因此,您的字符串 ('w') 适合放入 URL 中:
%23%26119%3B
以及您的整个查询字符串:
?text=%23%26119%3B&type=htmldecode&format=text
前面提到的 PHP urlencode() 就是这样做的。
sn-p:
<?php echo urlencode("w"); ?>
输出
%26%23119%3B
【讨论】:
我认为您需要对其进行解码,然后使用 URL 编码 urlencode 重新编码
【讨论】: