Php автоматически кодирует & в WordPress

РЕШИТЬ

Обертывание каждого экземпляра символа & в php с помощью htmlspecialchars () устраняет мою проблему путем вывода & вместо & и позволил следующей странице правильно распознать каждую из переменных!

/ Решаемые /

В настоящее время я работаю над сайтом WordPress и пытаюсь создать javascript в php, а затем повторить его на странице. Часть этого javascript открывает новое окно / вкладку, используя window.open () и url, который я создал в php. Однако, когда я повторяю переменную, содержащую url, все символы & auto кодируются как & ,

Вот пример того, что происходит:

 ... ?> <script type="text/javascript"> var url = "&"; var url2 = "<?php echo "&"; ?>"; var url3 = <?php echo json_encode("&"); ?>; var url4 = "<?php echo html_entity_decode("&"); ?>"; var url5 = "<?php echo html_entity_decode("&"); ?>"; </script> <?php ... 

Тогда фактический javascript, который отображается, когда я проверяю элемент, в который вставлен скрипт,

 ... <script type="text/javascript"> var url = "&"; var url2 = "&"; var url3 = "&"; var url4 = "&"; var url4 = "&"; </script> ... 

Я попробовал urlencode () – все из & out из URL, но тогда $ _GET не распознает их как переменные URL.

Это просто вещь WordPress, или это вещь php? И, есть ли что-нибудь, что я могу сделать, чтобы показать … как?

РЕДАКТИРОВАТЬ

Поскольку, кажется, есть некоторая путаница в том, что я пытаюсь сделать, позвольте мне объяснить дальше. Я создаю URL-адрес, используя php, а не javascript. Затем я создаю javascript, используя php, а затем повторяю это на странице. Вышеприведенная выдержка показывает только проблему, с которой я столкнулся. Фактический сегмент трески выглядит примерно так:

 $header_element .= "<script type=\"text/javascript\">\n" . "function validateForm(form) {\n" . "\tvar isInvalid = false;\n" . $str_all_validation . "\tif (!isInvalid) {\n" . "\t\trunReport(form);\n" . "\t} else {\n" . "\talert('You must enter all report parameters.');\n" . "\t}\n" . "}\n" . "function runReport(form) {\n" . "\twindow.open('/?page_id=172&PageId=$str_page_id&ReportName=$str_report_name" . "$str_all_param, '_blank')\n" . "}\n" . "</script>"; 

Вышеуказанные выходы корректно, за исключением того, что все символы & выводятся как & ,

Related of "Php автоматически кодирует & в WordPress"

Я думаю, что ваша кодировка для вашей страницы или вашего php смешана.

попробуйте добавить эту строку в свой php:

 header('Content-Type: text/html; charset=UTF-8'); 

это должно убедиться, что все, что вы используете с помощью php, находится в UTF-8.

И убедитесь, что ваша кодировка для вашего javascrip одинакова.

PS Вы можете изменить charset=UTF-8 для чего-то вроде charset=ISO-8859-1 или любого кодирования вашего использования в вашем javascript.

РЕДАКТИРОВАТЬ:

НЕ ИСПОЛЬЗУЙТЕ ПОСЛЕДНИЙ ОТВЕТ, НЕ ЗАКЛЮЧАЮЩАЯ ПРОБЛЕМУ !!!

попробуйте и замените html_entity_decode() с помощью htmlspecialchars()