(PHP 4, PHP 5)
htmlspecialchars — Преобразува специални знаци в HTML единици
Някои знаци имат специално значение в HTML и трябва да се представят в HTML единици, ако искаме да запазим тяхното значение. Функцията връща низ с направени някои от въпросните преобразувания; преобразувания, които са полезни при всекидневната работа в областта на уеб програмирането. Ако трябва всички HTML единици да бъдат преобразувани използвайте функцията htmlentities().
Функцията е полезна за предотвратяване на появата на HTML код при информация предоставена от потребителя, като например във форуми и книги за гости.
Поддържаните преобразувания са:
Низът който ще се преобразува.
Незадължителният втори аргумент quote_style , указва как функцията да преобразува единичните и двойните кавички. Режимът по подразбиране ENT_COMPAT е обратно съвместим режим, при който се преобразуват само двойните кавички, а единичните се оставят без изменение. Ако е установен ENT_QUOTES единичните и двойните кавички се преобразуват, а ако е установен ENT_NOQUOTES, единичните и двойните кавички се оставят без изменение.
Дефинира набора от знаци, който да се използва при преобразуването. По подразбиране се използва ISO-8859-1.
От PHP 4.3.0 се поддържат следните знакови набори.
Знаков набор | Псевдоними | Описание |
---|---|---|
ISO-8859-1 | ISO8859-1 | Западно европейски, Latin-1 |
ISO-8859-15 | ISO8859-15 | Западно европейски, Latin-9. Добавя липсващите в Latin-1(ISO-8859-1) знак за евро, френски и финландски букви. |
UTF-8 | ASCII съвместим многобитов 8-bit Unicode. | |
cp866 | ibm866, 866 | Знаков набор на кирилица характерен за DOS. Този знаков набор се поддържа от 4.3.2. |
cp1251 | Windows-1251, win-1251, 1251 | Знаков набор на кирилица характерен за Windows. Този знаков набор се поддържа от 4.3.2. |
cp1252 | Windows-1252, 1252 | Западно европейски знаков набор характерен за Windows. |
KOI8-R | koi8-ru, koi8r | Руски знаков набор. Този знаков набор се поддържа от 4.3.2. |
BIG5 | 950 | Традиционен китайски, предимно използван в Тайван. |
GB2312 | 936 | Опростен китайски, национален стандарт за знаков набор. |
BIG5-HKSCS | Big5 с разширение за Хонг Конг, традиционен китайски. | |
Shift_JIS | SJIS, 932 | Японски знаков набор |
EUC-JP | EUCJP | Японски знаков набор |
Забележка: Всички други знакови набори не се разпознават и вместо тях ще бъде използван ISO-8859-1.
Когато параметърът double_encode е изключен, PHP няма да извърпи кодиране на съществуващите html единици, по подразбиране се преобразува всичко.
Преобразуваният низ.
Версия | Описание |
---|---|
5.2.3 | Добавен е параметърът double_encode . |
4.1.0 | Добавен е параметърът charset . |
Example #1 Пример за htmlspecialchars()
<?php
$new = htmlspecialchars("<a href='проба'>Проба</a>", ENT_QUOTES);
echo $new; // <a href='проба'>Проба</a>
?>
Забележка: Забележете, че функцията не преобразува нищо друго, освен показаното по-горе. За преобразуване на всички единици вж. htmlentities().