(PHP 4, PHP 5, PHP 7, PHP 8)
htmlspecialchars — Özel karakterleri HTML öğeleri haline getirir
$dizge
, int $öncelem_türü
= ENT_COMPAT
, string $karküm
= ?
, bool $çifte_kodlama
= true
) : stringBazı karakterler HTML'de özel anlama sahiptir ve anlamlarını korumaları için HTML öğesi olarak gösterilmesi gerekir. Bu işlev bu dönüşümleri yapılmış olarak bir dizge döndürür. Her gün HTML programlayanlar için bu dönüşümler çok yararlıdır. Eğer tüm HTML karakter öğelerinin dönüştürülmesi gerekiyorsa htmlentities() işlevini kullanın.
Bu işlev kullanıcı tarafından sağlanan metni HTML imleniminden arındırmak için yararlıdır.
Dönüşüm sırasında şunlar yapılır:
ENT_NOQUOTES
belirtilmişse
'"' haline gelir.
ENT_QUOTES
belirtilmişse
''' haline gelir.
dizge
Dönüştürülecek dizge.
öncelem_türü
Belirtilmesi isteğe bağlı olan bu değiştirgede tek ve çift tırnaklar
için işlevin nasıl işlem yapacağı belirtilir. Öntanımlı olan
ENT_COMPAT
ile geriye uyumlu olarak sadece çift
tırnaklar dönüştürülür, tek tırnaklara dokunulmaz.
ENT_QUOTES
belirtilmişse çift tırnaklara ilaveten
tek tırnaklar da dönüştürülür. ENT_NOQUOTES
belirtilirse ne tek ne de çift tırnaklar dönüştürülür.
karküm
Dönüşümde kullanılacak karakter kümesi. ISO-8859-1 öntanımlıdır.
Bu işlevin amacı gereği, ISO-8859-1
,
ISO-8859-15
, UTF-8
,
cp866
, cp1251
,
cp1252
ve KOI8-R
karakter
kümeleri, aynı konumları işgal eden karakterler bakımından
eşdeğerdir.
Aşağıdaki karakter kümeleri desteklenmektedir.
Karakter kümesi | Takma adı | Açıklama |
---|---|---|
ISO-8859-1 | ISO8859-1 | Batı Avrupa, Latin-1 |
ISO-8859-5 | ISO8859-5 | Az kullanılan kril küme (Latin/Cyrillic). |
ISO-8859-15 | ISO8859-15 | Doğu Avrupa, Latin-9. Euro işaretini ekler, Fransızca ve Fince harfler Latin-1'de (ISO-8859-1) yoktur. |
UTF-8 | ASCII uyumlu 8 bitlik çok baytlı Unicode. | |
cp866 | ibm866, 866 | DOS'a özgü Kril karakter kümesi. |
cp1251 | Windows-1251, win-1251, 1251 | Windows'a özgü Kril karakter kümesi. |
cp1252 | Windows-1252, 1252 | Doğu Avrupa için Windows'a özgü karakter kümesi. |
KOI8-R | koi8-ru, koi8r | Rusça. |
BIG5 | 950 | Geleneksel Çince, aslında Tayvan'da kullanılır. |
GB2312 | 936 | Basitleştirilmiş Çince, ulusal standart karakter kümesi. |
BIG5-HKSCS | Geleneksel Çince, Hong Kong eklentisi ile Big5. | |
Shift_JIS | SJIS, 932 | Japonca. |
EUC-JP | EUCJP, eucJP-win | Japonca. |
MacRoman | Mac OS tarafından kullanılmış karakter kümesi. | |
'' |
Boş bir dize, karakter kümesini, komut dosyası kodlamasından (Zend multibyte), default_charset ve geçerli yerel ayardan (bkz. nl_langinfo() ve setlocale()) algılamayı bu sırayla etkinleştirir. Önerilmez. |
Bilginize: Bunlardan başka karakter kümesi tanınmaz. Yerine öntanımlı karakter kümesi kullanılır ve bir uyarı çıktılanır.
çifte_kodlama
Bu değiştirgede false
belirtilirse zaten kodlanmış HTML öğeleri
tekrar kodlanmaz. Öntanımlı olarak herşey dönüştürülür.
Dönüştürülen dizge.
Sürüm: | Açıklama |
---|---|
5.2.3 |
çifte_kodlama değiştirgesi eklendi.
|
4.1.0 |
karküm değiştirgesi eklendi.
|
Örnek 1 - htmlspecialchars() örneği
<?php
$yenisi = htmlspecialchars("<a href='dnm'>Deneme</a>", ENT_QUOTES);
echo $yenisi; // <a href='dnm'>Deneme</a>
?>
Bilginize:
Bu işlev yukarıda listelenenler dışında hiçbir şeyi dönüştürmez. Tam bir dönüşüm istiyorsanız htmlentities() işlevine bakınız.