htmlspecialchars () x htmlentities ()

0

Я прочитал их документацию, но я до сих пор не понимаю, когда использовать каждую из них и их разницу.

Давайте рассмотрим ситуацию с общей строкой в переменной и ее нужно эхо-код внутри HTML-кода. Если у него есть какая-либо разметка HTML, я хочу, чтобы он преобразовывался в HTML-код (< заменен на &lt; & заменен на &amp;. Если у него есть специальные символы UTF, которые недоступны в HTML-коде, он заменяется на HTML-номер ( заменен на &#8226;).

Какая лучшая функция для этого?

Более трудная потребность: непечатаемые символы, такие как \n, char (10), char (13) и т.д., Заменяются их номером кода, в случае, если строка печатается внутри <pre> или любого специального текстового поля, сбрасывали.

  • 1
    Лично - я бы избежал htmlentities() это вызывает гораздо больше проблем, чем решает, просто используйте utf-8 в качестве набора символов (из таблиц базы данных, коннектора, контроллеров приложений и представлений). htmlspecialchars() идеально подходит для выхода из html. Если вам нужно что-то еще, попробуйте такую библиотеку, как htmlpurifier: htmlpurifier.org
  • 0
    Разница между google.com и тем и другим: поиск проще, чем создание нового поста об этом. Уже спросил: stackoverflow.com/questions/46483/…
Теги:
htmlspecialchars

1 ответ

1
Лучший ответ

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

Что касается вашего второго вопроса, я думаю, вы ищете addcslashes.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню