Нам нужно увидеть код. Мне кажется, ты где-то пропустил какой-то важный шаг. В частности:
Как только строка, которая содержит "#" (в основном, когда я пытаюсь изменить цвет шрифта), символ
Подразумевает, что вы можете объединить строки в URL-адрес, подобный следующему:
var url= '/something.php?content='+html;
Естественно, если html
содержит символ #
, у вас есть проблемы, потому что в:
http://www.example.com/something.php?content=<div style="color:#123456">
#
начинает идентификатор фрагмента с именем #123456">
, например, когда вы ставите #section
в конце URL-адреса, чтобы перейти к якорю с именем section
в файле HTML. Идентификаторы фрагментов сугубо клиентские и не отправляются на сервер, который будет выглядеть так:
http://www.example.com/something.php?content=<div style="color:
Однако это далеко не единственная проблема с вышесказанным. Пробел, <
и =
недопустимы в URL, а другие символы, такие как &
, также могут испортить параметры. Чтобы закодировать произвольную строку в параметр запроса, вы должны использовать encodeURIComponent
:
var url= '/something.php?content='+encodeURIComponent(html);
, который заменит #
на %35
и аналогично для других внеполосных символов.
Однако, если это действительно то, что вы делаете, вы ни в коем случае не должны хранить что-либо в базе данных в ответ на запрос GET или полагаться на GET для передачи потенциально большого контента. Вместо этого используйте запрос POST.