如何获得¤字面显示,而不是作为一个HTML实体如何获得¤字面显示,而不是作为一个HTML实体(How

2019-05-12 09:17发布

我使用PHP来看看那个中有一个URL的XML文件。 该网址是这个样子:

https://site.com/bacon_report?Id=1&report=1&currentDimension=2&param=1

当我回声出的URL,在“&CURREN”显示为“¤”(又名#164,A4或货币符号)和链接不工作。 出现这种情况,即使没有它关闭分号。 是什么力量让“&CURREN”显示字面上干净的方式?

Answer 1:

使用PHP函数进行urlencode:

urlencode("https://site.com/bacon_report?Id=1&report=1&currentDimension=2&param=1"

将输出

https%3A%2F%2Fsite.com%2Fbacon_report%3FId%3D1%26report%3D1%26currentDimension%3D2%26param%3D1 


Answer 2:

搞笑的是我刚才碰到了同样的问题,我发现这个答案。 然而,我发现了另一个解决方案,它甚至可能会更好!

简而言之变量在查询字符串的开头,你会避免与CURREN完全。

做:

https://site.com/bacon_report?currentDimension=2&Id=1&report=1&param=1

代替:

https://site.com/bacon_report?Id=1&report=1&currentDimension=2&param=1


Answer 3:

这里的问题是逃避 - 你需要躲避“&”字符。 在XML中的所有特殊字符,如<,>,”,“和和应逃脱。

逃避它作为正常

https://example.com/bacon_report?Id=1&amp;report=1&amp;currentDimension=2&amp;param=1

..just像HTML:

<a href="https://example.com/bacon_report?Id=1&report=1&currentDimension=2&param=1">WRONG - no escaping</a>
<a href="https://example.com/bacon_report?Id=1&amp;report=1&amp;currentDimension=2&amp;param=1">CORRECT - correct escape sequence</a>

所以 - 最清晰的方式展现在HTML“&CURREN” / XML是正确转义符号,并使其作为与“&amp; CURREN”。



Answer 4:

我认为,在这种情况下,它是最好的,因为用urlencode你使用ヶ辆https%3A%2F%2Fexample.com%2Fbacon_report%3FId%3D1%26report%3D1%26currentDimension%3D2%26param%3D1

并应用urldecode的时候,你仍然有与CURREN符号,其中与ヶ辆的URL出来干净。
https://example.com/bacon_report?Id=1&report=1&currentDimension=2&param=1



文章来源: How to get ¤ to display literally, not as an HTML entity
标签: php html url