Функции за низове
PHP Manual

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialcharsПреобразува специални знаци в HTML единици

Описание

string htmlspecialchars ( string $string [, int $quote_style= ENT_COMPAT [, string $charset [, bool $double_encode= true ]]] )

Някои знаци имат специално значение в HTML и трябва да се представят в HTML единици, ако искаме да запазим тяхното значение. Функцията връща низ с направени някои от въпросните преобразувания; преобразувания, които са полезни при всекидневната работа в областта на уеб програмирането. Ако трябва всички HTML единици да бъдат преобразувани използвайте функцията htmlentities().

Функцията е полезна за предотвратяване на появата на HTML код при информация предоставена от потребителя, като например във форуми и книги за гости.

Поддържаните преобразувания са:

Параметри

string

Низът който ще се преобразува.

quote_style

Незадължителният втори аргумент quote_style , указва как функцията да преобразува единичните и двойните кавички. Режимът по подразбиране ENT_COMPAT е обратно съвместим режим, при който се преобразуват само двойните кавички, а единичните се оставят без изменение. Ако е установен ENT_QUOTES единичните и двойните кавички се преобразуват, а ако е установен ENT_NOQUOTES, единичните и двойните кавички се оставят без изменение.

charset

Дефинира набора от знаци, който да се използва при преобразуването. По подразбиране се използва 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

Когато параметърът 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// &lt;a href=&#039;проба&#039;&gt;Проба&lt;/a&gt;
?>

Бележки

Забележка: Забележете, че функцията не преобразува нищо друго, освен показаното по-горе. За преобразуване на всички единици вж. htmlentities().

Вж. също


Функции за низове
PHP Manual