Функция PHP htmlentities()
Пример
把字符转换为 HTML 实体:
<?php $str = "<? W3S?h????>"; echo htmlentities($str); ?>
HTML-вывод вышеуказанного кода таков (просмотрите исходный код):
<!DOCTYPE html> <html> <body> <© W3Sçh°°¦§> </body> </html>
Браузерский вывод вышеуказанного кода:
<? W3S?h????>
Определение и использование
htmlentities() для преобразования символов в HTML-символы.
Совет:Чтобы преобразовать HTML-символы в символы, используйте функцию html_entity_decode() функцию.
Совет:Используйте get_html_translation_table() Функция, возвращающая таблицу перевода, используемую функцией htmlentities().
Синтаксис
htmlentities(string,flags,character-set,double_encode)
Параметры | Описание |
---|---|
string | Обязателен. Определяет строку, которую нужно преобразовать. |
flags |
Доступно. Определяет, как обрабатывать кавычки, недопустимые кодировки и какой тип документа использовать. Доступные типы кавычек:
Недопустимые кодировки:
Дополнительные флаги для указанного типа документа:
|
character-set |
Доступно. Строка, определяющая используемый набор символов. 允许的值:
注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 |
double_encode |
可选。布尔值,规定是否编码已存在的 HTML 实体。
|
技术细节
返回值: |
返回被转换的字符串。 如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。 |
PHP 版本: | 4+ |
更新日志: |
在 PHP 5 中,character-set 参数的默认值改为 UTF-8。 在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 在 PHP 5.3 中,新增了 ENT_IGNORE。 在 PHP 5.2.3 中,新增了 double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。 |
更多实例
例子 1
把字符转换为 HTML 实体:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo htmlentities($str, ENT_QUOTES); // 转换双引号和单引号 echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // Не конвертировать никакие кавычки ?>
HTML-вывод вышеуказанного кода таков (просмотрите исходный код):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Tarzan'<br> Bill & 'Steve' </body> </html>
Браузерский вывод вышеуказанного кода:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Пример 2
Конвертирует некоторые символы в HTML-символы с использованием кодировки Western European
<?php $str = "My name is Øyvind Øsane. I'm Norwegian."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Будет конвертировать только двойные кавычки (не одинарные), и использует кодировку Western European ?>
HTML-вывод вышеуказанного кода таков (просмотрите исходный код):
<!DOCTYPE html> <html> <body> Мое имя — Øyvind Øsane. Я норвежец. </body> </html>
Браузерский вывод вышеуказанного кода:
Мое имя — Øyvind Øsane. Я норвежец.