PHP htmlentities() fonksiyonu

Örnek

Karakterleri HTML karakterlerine dönüştür:

<?php
$str = "<? W3S?h????>";
echo htmlentities($str);
?>

Yukarıdaki kodun HTML çıktısı şu şekildedir (kaynak kodunu görüntüle):

<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>

Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:

<? W3S?h????>

Tanım ve Kullanım

htmlentities() fonksiyonu, karakterleri HTML karakterlerine dönüştürür.

İpuçları:HTML karakterlerini karakterlere dönüştürmek için html_entity_decode() fonksiyonu.

İpuçları:Kullanınız: get_html_translation_table() htmlentities() fonksiyonu tarafından kullanılan tercüme tablosunu döndüren fonksiyon.

Sözdizimi

htmlentities(string,flags,character-set,double_encode)
Parametreler Açıklama
string Gerekli. Dönüştirilmesi gereken diziyi belirtir.
flags

İsteğe bağlı. Tırnakları, geçersiz kodlamaları nasıl işlemek gerektiğini ve hangi belge türünü kullanacağınızı belirler.

Kullanılabilir tırnak türleri:

  • ENT_COMPAT -Varsayılan. Sadece çift tırnak kodlanır.
  • ENT_QUOTES - Çift ve tek tırnak kodlanır.
  • ENT_NOQUOTES - Hiçbir çift veya tek tırnak kodlanmaz.

Geçersiz kodlama:

  • ENT_IGNORE - Geçersiz kodlamayı göz ardı eder, boş bir dizi döndürmez. Çok kullanılmamalıdır, çünkü bu güvenlik üzerinde etki yaratabilir.
  • ENT_SUBSTITUTE - Geçersiz kodlamayı belirtilen bir karakterle değiştirir, boş bir dizi döndürmez. U+FFFD (UTF-8) veya &#FFFD; ile değiştirilir.
  • ENT_DISALLOWED - Belirtilen belge türündeki geçersiz karakter noktalarını Unicode değişken karakteri U+FFFD (UTF-8) veya &#FFFD; ile değiştirir.

Kullanılacak belge türünün ek flags'leri:

  • ENT_HTML401 -Varsayılan. HTML 4.01 olarak işlemek için.
  • ENT_HTML5 - HTML 5 olarak işlemek için.
  • ENT_XML1 - XML 1 olarak işlemek için.
  • ENT_XHTML - XHTML olarak işlemek için.
character-set

İsteğe bağlı. Kullanılacak karakter kümesinin tanımlandığı bir dizi.

İzin verilen değerler:

  • UTF-8 - Varsayılan. ASCII ile uyumlu çok baytlı 8 baytlı Unicode
  • ISO-8859-1 - Batı Avrupa
  • ISO-8859-15 - Batı Avrupa (Avro simgesi + ISO-8859-1'de kaybolan Fransızca ve Fince harfleri eklenmiştir)
  • cp866 - DOS'a özgü Kiril karakter seti
  • cp1251 - Windows'a özgü Kiril karakter seti
  • cp1252 - Windows'a özgü Batı Avrupa karakter seti
  • KOI8-R - Rusça
  • BIG5 - Geleneksel Çince, ana olarak Tayvan'da kullanılır
  • GB2312 - Basit Çince, ulusal karakter seti
  • BIG5-HKSCS - Hong Kong genişletilmiş Big5
  • Shift_JIS - Japonca
  • EUC-JP - Japonca
  • MacRoman - Mac işletim sistemi tarafından kullanılan karakter seti

Açıklama:PHP 5.4 öncesi sürümlerde, tanınmayan karakter setleri ISO-8859-1 tarafından atlanır ve değiştirilir. PHP 5.4'ten itibaren, tanınmayan karakter setleri atlanır ve UTF-8 ile değiştirilir.

double_encode

Opsiyonel. Boş HTML karakterlerine kodlama yapılıp yapılmayacağını belirleyen boolean değer.

  • TRUE - Varsayılan. Her karakter için dönüşüm yapılır.
  • FALSE - Mevcut HTML karakterlerine kodlama yapılmaz.

Teknik ayrıntılar

Dönüş değerleri:

Dönüştürülen dizgeyi döndürür.

Eğer string Geçersiz kodlama içeriyorsa, boş bir dize döner, ENT_IGNORE veya ENT_SUBSTITUTE bayrağı ayarlanmamışsa.

PHP sürümü: 4+
Güncelleme günlüğü:

PHP 5'te,character-set Parametrelerin varsayılan değeri UTF-8 olarak değiştirilmiştir.

PHP 5.4'te, eklenmiştir: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 ve ENT_XHTML.

PHP 5.3'te, ENT_IGNORE eklenmiştir.

PHP 5.2.3'te, eklenmiştir double_encode Parametreler.

PHP 4.1'de, eklenmiştir character-set Parametreler.

Daha fazla örnek

Örnek 1

Karakterleri HTML karakterlerine dönüştür:

<?php
$str = "Bill & 'Steve'";
echo htmlentities($str, ENT_COMPAT); // Yalnızca çift tırnakları dönüştür
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Çift tırnak ve tek tırnakları dönüştür
echo "<br>";
echo htmlentities($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 & 'Tarzan'<br>
Bill & 'Steve'
</body>
</html>

Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

Çalıştırma Örneği

Örnek 2

Batı Avrupa karakter-karakter setini kullanarak bazı karakterleri HTML karakterlerine dönüştürün:

<?php
$str = "Adım: ?yvind ?sane. Norveçlidir.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); 
// Yalnızca çift tırnakları (tek tırnakları değil) dönüştürür ve Batı Avrupa karakter-karakter setini kullanır
?>

Yukarıdaki kodun HTML çıktısı şu şekildedir (kaynak kodunu görüntüle):

<!DOCTYPE html>
<html>
<body>
Adım: Øyvind Åsane. Norveçlidir.
</body>
</html>

Yukarıdaki kodun tarayıcı çıktısı şu şekildedir:

Adım: ?yvind ?sane. Norveçlidir.

Çalıştırma Örneği