(PHP 4 >= 4.3.0, PHP 5, PHP 7)
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.
dizgeGirdi 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ümDö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.