Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

htmlspecialchars

Заменяет специальные символы HTML на безопасные обозначения.

Синтаксис

htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string

Параметры

ПараметрТипОписание
$stringstringИсходная строка.
$flagsintНеобязательный. Какие кавычки заменять; по умолчанию и одинарные, и двойные.
$encoding?stringНеобязательный. Кодировка; по умолчанию UTF-8.

Возвращаемое значение

stringСтрока, безопасная для вывода в HTML.

Примеры

Теги превращаются в обычный текст:

<?php
 
echo htmlspecialchars('<script>alert(1)</script>');

Результат:

&lt;script&gt;alert(1)&lt;/script&gt;

Кавычки в значении атрибута:

<?php
 
$name = 'Tom "The Cat"';
 
echo '<input value="' . htmlspecialchars($name) . '">';

Результат:

<input value="Tom &quot;The Cat&quot;">

Примечания

Это главная защита от XSS: экранируйте всё, что пришло от пользователя и выводится на страницу. Экранируйте при выводе, а не при сохранении в базу.

См. также

  • strip_tags — Удаляет из строки HTML-теги.
  • nl2br — Вставляет тег br перед каждым переводом строки.

Вопросы и ответы по теме

В учебнике

  • Безопасность — Основы безопасности сайта на PHP — XSS и экранирование, SQL-инъекции, хеширование паролей, CSRF-токены и проверка входных данных.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.