PHP htmlspecialchars() fonksiyonu
Örnek
Önceden tanımlanmış karakterler "<" (küçüktür) ve ">" (büyüktür) HTML ifadesine dönüştürülür:
<?php $str = "Bu, bazı <b>kalın</b> metin içerir."; echo htmlspecialchars($str); ?>
Yukarıdaki kodun HTML çıktısı şu şekildedir (kaynak kodunu görüntüle):
<!DOCTYPE html> <html> <body> Bu, bazı <b>kalın</b> metin içerir. </body> </html>
Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:
Bu, bazı <b>kalın</b> metin içerir.
Tanım ve Kullanım
htmlspecialchars() fonksiyonu önceden tanımlanmış karakterleri HTML ifadesine dönüştürür.
Önceden tanımlanmış karakterler:
- & (ve işareti) &ye dönüşür
- " (çift tırnak) "ye dönüşür
- ' (tek tırnak) 'ye dönüşür
- < (küçüktür) <'ye dönüşür
- > (büyüktür) >'ye dönüşür
İpucu:Özel HTML ifadesini karaktere dönüştürmek için kullanın htmlspecialchars_decode() Fonksiyon.
Sözdizimi
htmlspecialchars(string,flags,character-set,double_encode)
Parametreler | Açıklama |
---|---|
string | Gerekli. Dönüştürülecek diziyi belirtir. |
flags |
İsteğe bağlı. Tırnakların nasıl ele alınacağını, geçersiz kodlamaların nasıl ele alınacağını ve hangi belge türünün kullanılacağını belirler. Kullanılabilir tırnak türleri:
Geçersiz kodlama:
Kullanılacak belge türünün ek bayraklarını belirler:
|
character-set |
Opsiyonel. Kullanılacak karakter setini belirleyen bir dize. İzin verilen değerler:
Açıklama:PHP 5.4 öncesi sürümlerde, tanınamayan karakter setleri ISO-8859-1 ile atlanır ve değiştirilir. PHP 5.4'ten itibaren, tanınamayan karakter setleri atlanır ve UTF-8 ile değiştirilir. |
double_encode |
Opsiyonel. Mevcut HTML entitelerini kodlama gerektirip gerekmediğini belirler.
|
Teknik ayrıntılar
Dönüş değeri: |
Dönüştürülen dizeyi döner. Eğer string Geçersiz kodlama içeriyorsa, boş bir dize döner, ENT_IGNORE veya ENT_SUBSTITUTE bayrağı ayarlanmadıysa. |
PHP sürümü: | 4+ |
Güncelleme günlüğü: |
PHP 5'te,character-set Parametrenin varsayılan değeri UTF-8 olarak değiştirildi. PHP 5.4'te: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 ve ENT_XHTML eklendi. PHP 5.3'te ENT_IGNORE eklendi. PHP 5.2.3'te yeni eklendi double_encode Parametreler. PHP 4.1'de, aşağıdakiler eklendi: character-set Parametreler. |
Daha Fazla Örnek
Örnek 1
Bazı önceden tanımlanmış karakterleri HTML karakterine dönüştür:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Yalnızca çift tırnağı dönüştür echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Çift ve tek tırnakları dönüştür echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Hiçbir tırnağı dönüştürmez ?>
Yukarıdaki kodun HTML çıktısı şu şekildedir (kaynak kodunu görüntüle):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Örnek 2
Çift tırnağı HTML karakterine dönüştür:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Çift ve tek tırnakları dönüştür ?>
Yukarıdaki kodun HTML çıktısı şu şekildedir (kaynak kodunu görüntüle):
<!DOCTYPE html> <html> <body> Ben "PHP"'yi seviyorum. </body> </html>
Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:
Ben "PHP"'yi seviyorum.