Javascript / jQuery: Как преобразовать строку в код символа HTML

У меня есть строка, содержащая текст, включая специальные символы, такие как апострофы, кавычки, амперсанд и т. Д., Которые я хотел бы преобразовать в коды символов HTML, например для отображения &#39 вместо апострофа и т. д. (согласно следующему списку: http://www.w3.org/MarkUp/html-spec/html-spec_13.html.

Мне не обязательно преобразовывать буквы и пробелы, если указанные выше и некоторые другие базовые символы закодированы правильно.

В качестве временного обходного пути я использую простые замены, такие как str = str.replace("'", "&#39"), но я бы хотел избежать этого, поскольку он охватывает только определенные символы.

Я думал о encodeURI или encodeURIcomponent, но хотел бы знать, как лучше и проще всего добиться этого, не кодируя больше, чем необходимо.

Может ли кто-нибудь сказать, что здесь лучше всего, если идея состоит в том, чтобы избежать каких-либо проблем с другим JS, где он вставляется динамически, особенно. думаете об одинарных кавычках, двойных кавычках и любом другом символе, который может вызвать здесь проблемы (относится только к JavaScript / jQuery и английскому языку)?


person user2571510    schedule 06.09.2014    source источник
comment
Я собирался задать этот вопрос около месяца назад ... потом забыл.   -  person Piper McCorkle    schedule 06.09.2014
comment
Javascript действительно не имеет встроенного кодировщика сущностей, кодирование URI - это нечто совершенно другое. Лучшим вариантом, вероятно, является замена, и это делает его дубликатом.   -  person adeneo    schedule 06.09.2014
comment
Спасибо за это. Ты прав.   -  person user2571510    schedule 06.09.2014
comment
см. также эквивалент stackoverflow.com/questions/1787322/, это похоже, похожая статья   -  person Aak    schedule 06.09.2014
comment
Спасибо и за это!   -  person user2571510    schedule 06.09.2014


Ответы (1)


person    schedule
comment
Большое спасибо за это ! Покроет ли это все приведенные выше примеры? - person user2571510; 06.09.2014