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"));