URL PHP 中的解码未按预期工作
URL Decoding in PHP not working as supposed to be
我正在尝试使用 PHP 的 urldecode 函数解码此 URL 字符串:
urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E");
这应该输出...
<R201810579707> <20180828> <20180912> <1033.00> <Y> <0.00!NA>
...而是输出这个
<20180828> <20180912> <1033.00> <0.00!NA>
我已经在 php online decoder 中测试了字符串并取得了巨大成功,但似乎无法在服务器端执行此操作。有什么想法吗?
如果您在网页上打印结果,尖括号将被视为标记分隔符。您可以通过调用 htmlentities()
:
按字面显示它
echo htmlentities(urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E"));
我正在尝试使用 PHP 的 urldecode 函数解码此 URL 字符串:
urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E");
这应该输出...
<R201810579707> <20180828> <20180912> <1033.00> <Y> <0.00!NA>
...而是输出这个
<20180828> <20180912> <1033.00> <0.00!NA>
我已经在 php online decoder 中测试了字符串并取得了巨大成功,但似乎无法在服务器端执行此操作。有什么想法吗?
如果您在网页上打印结果,尖括号将被视为标记分隔符。您可以通过调用 htmlentities()
:
echo htmlentities(urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E"));