我正在使用php来查看其中包含URL的XML文件.URL看起来像这样:
https://site.com/bacon_report?Id=1&report=1¤tDimension=2m=1
当我回显URL时,"¤"显示为"¤"(AKA#164,A4或货币符号),并且链接不起作用.即使没有结束分号,也会发生这种情况.什么是使"¤"字面显示最干净的方法?
有趣的是我刚才遇到了同样的问题而且我找到了这个答案.但是,我找到了另一种可能更好的解决方案!
只需将变量放在查询字符串的开头,就可以完全避免使用¤.
做:
https://site.com/bacon_report?currentDimension=2&Id=1&report=1¶m=1
Run Code Online (Sandbox Code Playgroud)
代替:
https://site.com/bacon_report?Id=1&report=1¤tDimension=2¶m=1
Run Code Online (Sandbox Code Playgroud)
使用php函数urlencode:
urlencode("https://site.com/bacon_report?Id=1&report=1¤tDimension=2¶m=1"
Run Code Online (Sandbox Code Playgroud)
将输出
https%3A%2F%2Fsite.com%2Fbacon_report%3FId%3D1%26report%3D1%26currentDimension%3D2%26param%3D1
Run Code Online (Sandbox Code Playgroud)
小智 6
这里的问题是逃避 - 你需要逃避"&"字符.在XML中,所有特殊字符,如<,>,',"和&都应该被转义.
正确地逃脱它
https://example.com/bacon_report?Id=1&report=1&currentDimension=2&param=1
Run Code Online (Sandbox Code Playgroud)
..就像在HTML中一样:
<a href="https://example.com/bacon_report?Id=1&report=1¤tDimension=2¶m=1">WRONG - no escaping</a>
<a href="https://example.com/bacon_report?Id=1&report=1&currentDimension=2&param=1">CORRECT - correct escape sequence</a>
Run Code Online (Sandbox Code Playgroud)
因此 - 在HTML/XML中显示"¤"的最简洁方法是正确地转义&符号,并将其呈现为"& curren".
| 归档时间: |
|
| 查看次数: |
8304 次 |
| 最近记录: |