html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

html_entity_decodeDönüştürülebilecek tüm HTML öğelerini karakter haline getirir

Açıklama

html_entity_decode ( string $dizge [, int $öncelem_türü = ENT_COMPAT [, string $karküm ]] ) : string

html_entity_decode() işlevi htmlentities() işlevinin tersine bir karaktere dönüşebilecek tüm HTML öğelerini dönüştürür.

Değiştirgeler

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:

Olası öncelem_türü sabitleri
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.

Desteklenen karakter kümeleri
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.

Dönen Değerler

Kodlaması çözülmüş dizge.

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 Çok baytlı karakter desteği eklendi.

Örnekler

Ö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 &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; 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

?>

Notlar

Bilginize:

trim(html_entity_decode('&nbsp;')); ile dizgenin neden boş bir dizgeye dönüşmediğini merak ediyor olabilirsiniz. Bunun sebebi '&nbsp;' öğesinin ASCII kodunun 32 değil 160 olmasıdır.

Ayrıca Bakınız