Как получить & curren для отображения буквально, а не как объект HTML

Я использую php для просмотра XML-файла с URL-адресом в нем. URL-адреса выглядят примерно так:

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

Когда я повторяю URL-адреса, «& curren» отображается как «¤» (AKA # 164, A4 или символ валюты), и ссылки не работают. Это происходит, хотя для нее нет закрывающей точки с запятой. Каков самый чистый способ отображения «& curren» в буквальном смысле?

Используйте функцию php function 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 

Забавно, что я столкнулся с той же проблемой, и я нашел этот ответ. Однако я нашел другое решение, которое может быть даже лучше!

Просто поставьте переменную в начале строки запроса, и вы полностью избегаете ее.

Делать:

 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 

Проблема здесь – побег – вам нужно избежать символов «&». В XML все специальные символы, такие как <,>, ', "и & должны быть экранированы.

Ищите его правильно, как

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

.. просто как в 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> 

Итак, самый чистый способ показать «и curren» в HTML / XML – это правильно выйти из амперсанда и отобразить его как «& amp; curren».

Я думаю, что в этом случае лучше использовать htmlentities, потому что с urlencode вы получаете https%3A%2F%2Fexample.com%2Fbacon_report%3FId%3D1%26report%3D1%26currentDimension%3D2%26param%3D1

и при применении urldecode у вас все еще будет символ & curren, где, как и в htmlentities, URL-адрес выходит из строя.
https://example.com/bacon_report?Id=1&report=1&currentDimension=2&param=1