(PHP 4 >= 4.3.0, PHP 5)
html_entity_decode — Dönüştürülebilecek tüm HTML öğelerini karakter haline getirir
$dizge
[, int $öncelem_türü
= ENT_COMPAT
[, string $karküm
]] )html_entity_decode() işlevi htmlentities() işlevinin tersine bir karaktere dönüşebilecek tüm HTML öğelerini dönüştürür.
dizge
Girdi dizgesi.
öncelem_türü
Seçimlik öncelem_türü
değiştirgesi ile çift ve
tek tırnaklar için işlevin nasıl davranacağını belirleyebilirsiniz.
ENT_COMPAT
öntanımlı olmak üzere şu üç sabitten
biri belirtilebilir:
Sabit İsmi | Açıklama |
---|---|
ENT_COMPAT |
Sadece çift tırnaklar dönüştürülür, tek tırnaklara dokunulmaz. |
ENT_QUOTES |
Çift tırnaklara ilaveten tek tırnaklar da dönüştürülür. |
ENT_NOQUOTES |
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.
Aşağıdaki karakter kümeleri PHP 4.3.0 ve sonrasında desteklenmektedirr.
Karakter kümesi | Takma adı | Açıklama |
---|---|---|
ISO-8859-1 | ISO8859-1 | Batı Avrupa, Latin-1 |
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ı Evrenkod. | |
cp866 | ibm866, 866 | DOS'a özgü Kril karakter kümesi. Bu karakter kümesi 4.3.2'den beri desteklenmektedir. |
cp1251 | Windows-1251, win-1251, 1251 | Windows'a özgü Kril karakter kümesi. Bu karakter kümesi 4.3.2'den beri desteklenmektedir. |
cp1252 | Windows-1252, 1252 | Doğu Avrupa için Windows'a özgü karakter kümesi. |
KOI8-R | koi8-ru, koi8r | Rusça. Bu karakter kümesi 4.3.2'den beri desteklenmektedir. |
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 | Japonca. |
Bilginize: Bunlardan başka karakter kümesi tanınmaz ve yerlerine ISO-8859-1 kullanılır.
Kodlaması çözülmüş dizge.
Sürüm: | Açıklama |
---|---|
5.0.0 | Çok baytlı karakter desteği eklendi. |
Örnek 1 - HTML öğelerinin karakterlere dönüştürülmesi
<?php
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the <b>dog</b> now
// PHP 4.3.0 ve öncesi için bu şöyle yapılır:
function unhtmlentities($string)
{
// sayısal öğeleri yerleştirelim
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
// sayıl öğeleri değiştirelim
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // I'll "walk" the <b>dog</b> now
?>
Bilginize:
trim(html_entity_decode(' ')); ile dizgenin neden boş bir dizgeye dönüşmediğini merak ediyor olabilirsiniz. Bunun sebebi ' ' öğesinin ASCII kodunun 32 değil 160 olmasıdır.