пример
Преобразование предопределенных символов "<" (less than) и ">" (greater than) для HTML сущностей:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
HTML выход кода выше (View Source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
Выходной браузер кода выше:
This is some <b>bold</b> text.
Выполнить пример » Определение и использование
htmlspecialchars() функция преобразует некоторые предопределенные символы в HTML сущности.
Предварительно определенные символы:
- & (ampersand) становится & амп;
- " (double quote) становится & Quot;
- ' (single quote) становится & # 039;
- < (less than) становится & Lt;
- > (greater than) становится & GT;
Совет: Для того, чтобы преобразовать специальные HTML - сущности обратно в символы, используйте htmlspecialchars_decode() функцию.
Синтаксис
htmlspecialchars( string,flags,character-set,double_encode )
параметр | Описание |
---|---|
string | Необходимые. Задает строку для преобразования |
flags | Необязательный. Определяет, как обрабатывать кавычки, недействительны кодирования и используемый тип документа. Доступные цитаты стили:
Недопустимая кодировка:
Дополнительные флаги для указания используемого доктайпа:
|
character-set | Необязательный. Строка, которая определяет, какой символьный набор для использования. Допустимые значения:
Note: Непризнанные символьные наборы будут проигнорированы и заменены ISO-8859-1 в версиях до PHP 5.4. По состоянию на PHP 5.4, будет игнорировал заменена UTF-8. |
double_encode | Необязательный. Логическое значение, указывающее, следует ли кодировать существующий HTML сущность или нет.
|
Технические подробности
Возвращаемое значение: | Возвращает преобразованную строку Если строка содержит недопустимую кодировку, он возвращает пустую строку, если либо ENT_IGNORE или ENT_SUBSTITUTE флаги не установлены |
---|---|
PHP версии: | 4+ |
Changelog: | Значение по умолчанию для параметра символьного набора было изменено на UTF-8 в PHP 5 ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 и ENT_XHTML были добавлены в PHP 5.4 ENT_IGNORE была добавлена в PHP 5.3 Параметр double_encode был добавлен в PHP 5.2.3 Параметр Символьный набор был добавлен в PHP 4.1 |
Еще примеры
Пример 1
Преобразовать некоторые предопределенные символы в HTML-сущности:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
HTML выход кода выше (View Source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
Выходной браузер кода выше:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Выполнить пример » Пример 2
Преобразование двойных кавычек в HTML сущности:
<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES);
// Converts double and single quotes
?>
HTML выход кода выше (View Source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
Выходной браузер кода выше:
I love "PHP" .
Выполнить пример » <String Reference PHP