htmlspecialchars

(PHP 4, PHP 5, PHP 7)

htmlspecialcharsÖzel karakterleri HTML öğeleri haline getirir

Açıklama

htmlspecialchars ( string $dizge [, int $öncelem_türü = ENT_COMPAT [, string $karküm [, bool $çifte_kodlama = true ]]] ) : string

Bazı 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:

  • '&' (ve imi) '&' haline gelir.
  • '"' (çift tırnak) ENT_NOQUOTES belirtilmişse '"' haline gelir.
  • ''' (tek tırnak) ENT_QUOTES belirtilmişse ''' haline gelir.
  • '<' (küçüktür) '&lt;' haline gelir
  • '>' (büyüktür) '&gt;' haline gelir

Değiştirgeler

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 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.

ç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önen Değerler

Dönüştürülen dizge.

Sürüm Bilgisi

Sürüm: Açıklama
5.2.3 çifte_kodlama değiştirgesi eklendi.
4.1.0 karküm değiştirgesi eklendi.

Örnekler

Örnek 1 - htmlspecialchars() örneği

<?php
$yenisi 
htmlspecialchars("<a href='dnm'>Deneme</a>"ENT_QUOTES);
echo 
$yenisi// &lt;a href=&#039;dnm&#039;&gt;Deneme&lt;/a&gt;
?>

Notlar

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.

Ayrıca Bakınız

  • get_html_translation_table() - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
  • htmlspecialchars_decode() - Özel HTML öğelerini gerisin geriye karakterlere dönüştürür
  • strip_tags() - Bir dizgeden HTML ve PHP etiketlerini ayıklar
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • nl2br() - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir