Лучший способ конвертировать html-объекты в html-символы

Что мне нужно сделать, так это преобразовать любые html-объекты в фактический html-символ. Это может быть javascript или предпочтительно php.

Вот сенарио. Когда я сохраняю контент в базе данных из TinyMCE, он для меня конвертирует его в HTML-сущности. Это все хорошо и здорово, когда веб-страница отображается, но когда я также добавляю ее в текстовый ввод, сущности html прилипают, и для обычного пользователя это выглядит немного шатким.

Единственный способ, которым я могу это сделать, - это иметь массив с сущностью в качестве ключа и символом в качестве значения. Когда сущность найдена, проверьте этот массив и выдайте значение.

Есть ли у кого-нибудь лучшее / более эффективное решение, возможно, с использованием регулярного выражения?


person locrizak    schedule 18.04.2011    source источник
comment
прочтите htmlentities(), _2 _ .. все есть в руководстве по php ... ВСЕ D BEST   -  person diEcho    schedule 18.04.2011


Ответы (4)


html_entity_decode звучит так, как будто это то, что вам нужно. Однако не часто люди хотят принимать вводимые пользователем HTML-данные, а затем отображать их в виде текста позже.

person Quentin    schedule 18.04.2011
comment
Да, я понимаю, что это не обычное дело, и это было непоследовательно в моем сценарии. Просто придумал более последовательный способ достижения того, что мне нужно, но спасибо за ответ, потому что я уверен, что он снова появится в будущем. Спасибо всем за помощь. - person locrizak; 18.04.2011

Очевидно, вы можете использовать html_entity_decode на уровне PHP или, если вы передаете данные в javascript через ajax, вы можете использовать unescape() функцию javascript, чтобы сделать то же самое на стороне клиента.

person Naveed Ahmad    schedule 18.04.2011
comment
unescape относится к шестнадцатеричной кодировке, а не к кодировке html, и не рекомендуется. developer.mozilla.org/en/Core_JavaScript_1.5_Guide/ - person Quentin; 18.04.2011

Используйте функцию php html_entity_decode

person Bil    schedule 18.04.2011

Вы пробовали применить html_entity_decode к своему тексту? Документация здесь

person Ryan    schedule 18.04.2011