(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
html_entity_decode — HTML öğelerini karşılığı olan karakterlere dönüştürür
$dizge
, int$seçenekler
= ENT_QUOTES
| ENT_SUBSTITUTE
| ENT_HTML401
, ?string$kodlama
= null
): stringhtml_entity_decode() işlevi htmlentities() işlevinin tersine dizge
içinde karaktere dönüşebilecek tüm HTML öğelerini dönüştürür.
Daha kesin olarak, bu işlev, a) seçilen belge türü için zorunlu olarak geçerli olan tüm öğelerin (tüm sayısal öğeler dahil) kodunu çözer - yani, XML için, bu işlev bir DTD'de tanımlanabilecek isimli öğelerin kodunu çözmez ve b) seçilen kodlama ile ilişkili kodlanmış karakter kümesindeki ve seçilen belge türünde izin verilen karakter öğelerinin kodunu çözer. Diğer tüm öğeler olduğu gibi bırakılır.
dizge
Girdi dizgesi.
seçenekler
Seçimlik seçenekler
bağımsız değişkeni ile çift ve tek tırnaklar için işlevin nasıl davranacağını belirleyebilirsiniz. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
öntanımlı olmak üzere şu sabitler bitsel VEYAlanarak 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. |
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir. |
ENT_HTML401 | Kodu HTML 4.01 olarak ele alır. |
ENT_XML1 | Kodu XML 1 olarak ele alır. |
ENT_XHTML | Kodu XHTML olarak ele alır. |
ENT_HTML5 | Kodu HTML 5 olarak ele alır. |
kodlama
Karakterleri dönüştürürken kullanılan kodlamayı tanımlayan seçimlik bağımsız değişken.
Belirtilmezse kodlama
için default_charset yapılandırma seçeneğinin değeri öntanımlıdır.
Bu bağımsız değişken teknik olarak seçimlikse de kodunuz için gereken değeri atamanız gerekir. Çünkü default_charset yapılandırma seçeneğine hatalı bir değer atanmış olabilir.
Kodlaması çözülmüş dizge.
Sürüm: | Açıklama |
---|---|
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu. |
8.0.0 | kodlama artık null olabiliyor. |
Ö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
?>
Bilginize:
trim(html_entity_decode(' ')); ile dizgenin neden boş bir dizgeye dönüşmediğini merak ediyor olabilirsiniz. Bunun sebebi ' ' öğesinin karakter kodunun 32 değil 160 olmasıdır.