htmlspecialchars

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Desteklenen karakter kümeleri
Karakter kümesi Takma adı Açıklama
ISO-8859-1 ISO8859-1 Batı Avrupa, Latin-1
ISO-8859-5 ISO8859-5 Az kullanılan kril küme (Latin/Cyrillic).
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ı Unicode.
cp866 ibm866, 866 DOS'a özgü Kril karakter kümesi.
cp1251 Windows-1251, win-1251, 1251 Windows'a özgü Kril karakter kümesi.
cp1252 Windows-1252, 1252 Doğu Avrupa için Windows'a özgü karakter kümesi.
KOI8-R koi8-ru, koi8r Rusça.
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, eucJP-win Japonca.
MacRoman   Mac OS tarafından kullanılmış karakter kümesi.
''   Boş bir dize, karakter kümesini, komut dosyası kodlamasından (Zend multibyte), default_charset ve geçerli yerel ayardan (bkz. nl_langinfo() ve setlocale()) algılamayı bu sırayla etkinleştirir. Önerilmez.

Bilginize: Bunlardan başka karakter kümesi tanınmaz. Yerine öntanımlı karakter kümesi kullanılır ve bir uyarı çıktılanı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