2010-05-05 2 views
3

Рассмотрение strip_tags().PHP - Удаление эффекта HTML-тегов в строке - НО также отображение их?

strip_tags("<b>TEXT</b>"); 

Выход:

TEXT

Но что, если я хочу, чтобы свести на нет эффект тегов, но показывать их, а?

Выход:

< б > TEXT </б >

бы я должен использовать preg_replace()? Или есть более элегантное решение?

спасибо: D

ответ

1

Вы всегда можете просто заменить < с &lt; и > с &gt;, да?

+0

ли это также устранит необходимость использования strip_slashes в 1-м месте? – Bojack

+0

@wretrOvian strip_tags вы имеете в виду? это зависит от вас. –

3

Вы можете легко преобразовать символы в их HTML-сущности, используя htmlspecialchars или htmlentities. Убедитесь, что вы проверили руководство по PHP, чтобы определить, что наиболее подходит вашим данным, поскольку обе функции работают несколько иначе.

После этого вы можете отменить кодировку с помощью htmlspecialchars_decode и html_entity_decode - проверьте, что наиболее подходит для ваших данных.

+0

htmlspecialchars - единственная полезная функция этих –

+0

Что вы имеете в виду? Все они являются действительными функциями PHP, и каждый из них имеет свою цель. Возможно, ОП требует только «htmlspecialchars», но это не делает недействительной полезность других функций в подобных ситуациях. – akamike