Я #ccc URL-адрес файла PHP, в котором можно изменить некоторые цвета и т. Д. Один из цветов – #ccc и передается как &background=#ccc который разбивает мой PHP-файл (он останавливает мои параметры $_GET в этом хэштеге, все после этого не проходит)
Я пробовал кодировать свой url как encodeURIComponent(url) который также кодирует мой? и & я использую для строки $ _GET. При использовании encodeURI() хэштег вообще не закодирован.
Любые идеи, как передать все мои вары в мой PHP-файл, чтобы я мог их прочитать?
Обратите внимание, что это таблица стилей href. Я не могу / не буду использовать метод $.get() jQuery, но просто проанализирую тег и добавлю его в моем качестве:
<link href="http://localhost:8888/test.php/layout.scss?primarycolor=hotpink&secondarycolor=white&background=#ccc&textcolor=black&linkcolor=black&font=Futura&" type="text/css" rel="stylesheet" id="custom-style">
encodeURIComponent является правильным, но вы хотите использовать его только на бит #ccc . Если вы делаете это вручную (например, в hardcoding в <link> ), используйте %23 вместо # .
Вы можете реализовать запатентованную систему кодирования. Например, говоря, что «#» равно «! -!» например.
Затем в своем PHP-коде на стороне сервера вы можете запустить оператор str_replace("!-!", "#", $getVar) чтобы правильно использовать цветовой код. Не идеально.
Кроме того, попробуйте: htmlentities и html_entity_decode : http://php.net/htmlentities
Хэш-теги не передаются на сервер, поэтому они нарушают ваш скрипт. Что касается кодирования, если работает encodeURIComponent (), вам, вероятно, придется кодировать каждое значение в URL-адресе. Кроме того, вы можете просто заменить символ # в URL-адресе на% 23, используя замену простой строки.