Najnowsze tutoriale tworzenie stron internetowych
 

PHP htmlentities() Function

<String referencyjny PHP

Przykład

Konwersja kilka znaków do podmiotów HTML:

<?php
$str = "<© W3School>";
echo htmlentities($str);
?>

Wyjście HTML z kodem powyżej będzie (View Source) :

<!DOCTYPE html>
<html>
<body>
&lt;&copy; W3S&ccedil;h&deg;&deg;&brvbar;&sect;&gt;
</body>
</html>

Wyjście przeglądarka kodu powyżej będą:

<© W3School>
Uruchomić przykład »

Definicja i Wykorzystanie

htmlentities() konwertuje znaki na podmioty HTML.

Wskazówka: Aby przekonwertować podmioty HTML z powrotem do znaków, należy użyć html_entity_decode() funkcji.

Wskazówka: Użyj get_html_translation_table() funkcja zwraca tabelę przeliczeniową zastosowaną przez htmlentities() .


Składnia

htmlentities( string,flags,character-set,double_encode )

Parametr Opis
string Wymagany. Określa ciąg do zamiany
flags Opcjonalny. Określa, jak radzić sobie cytaty, nieważne kodowania i stosowany typ dokumentu.

Dostępne style cytat to:

  • ENT_COMPAT - domyślna. Koduje tylko cudzysłów
  • ENT_QUOTES - Koduje dwu- i apostrofów
  • ENT_NOQUOTES - nie koduje żadnych cytatów

Nieprawidłowy kodowania:

  • ENT_IGNORE - ignoruje nieprawidłowy kodowania zamiast funkcja zwraca pusty. Należy unikać, ponieważ może to mieć wpływ na bezpieczeństwo.
  • ENT_SUBSTITUTE - Zastępuje nieprawidłową kodowanie przez określony zestaw znaków z Unicode Wymiana znaków U + FFFD (UTF-8) lub & # FFFD; zamiast wrócić pusty ciąg.
  • ENT_DISALLOWED - zastępuje punkty kodowe, które są nieważne określonego typu dokumentów z Unicode Wymiana znaków U + FFFD (UTF-8) lub & # FFFD;

Dodatkowe flagi dla określania używany doctype:

  • ENT_HTML401 - domyślna. Uchwyt kodu jako HTML 4.01
  • ENT_HTML5 - Handle jako kod HTML 5
  • ENT_XML1 - Handle kod jako XML 1
  • ENT_XHTML - Handle kod jako XHTML
character-set Opcjonalny. Ciąg znaków, który określa, który znak ustawiony w użyciu.

Dozwolone wartości to:

  • UTF-8 - domyślna. ASCII kompatybilny multi-byte 8-bit Unicode
  • ISO-8859-1 - zachodnioeuropejska
  • ISO-8859-15 - zachodnioeuropejska (dodaje znak Euro + francuski i fiński brakujące litery w ISO-8859-1)
  • cp866 - DOS-specyficzny zestaw znaków cyrylicy
  • cp1251 - Windows specyficzne charset cyrylica
  • CP1252 - Windows charset specyficzne dla zachodnioeuropejskich
  • KOI-8 - Rosyjski
  • BIG5 - chiński tradycyjny, stosowany głównie w Tajwanie
  • GB2312 - chiński uproszczony, narodowy standardowy zestaw znaków
  • BIG5-HKSCS - Big5 z rozszerzeniami w Hong Kongu
  • Shift_JIS - Japanese
  • MIE-JP - japoński
  • MacRoman - zestawu znaków, który został użyty przez Mac OS

Note: Nierozpoznane postaci zestawów będą ignorowane i zastąpione przez ISO-8859-1 w wersjach wcześniejszych od PHP 5.4. Od PHP 5.4, zostanie ono zignorowane zastąpiony przez UTF-8.

double_encode Opcjonalny. Wartość logiczna określająca, czy do zakodowania istniejących podmiotów HTML lub nie.
  • TRUE - domyślna. Przekonwertuje wszystko
  • False - nie będą kodować istniejących podmiotów html

Szczegóły techniczne

Zwracana wartość: Zwraca skonwertowany łańcuch

Jeśli ciąg zawiera nieprawidłowe kodowanie, zwróci pusty ciąg, chyba albo ENT_IGNORE lub ENT_SUBSTITUTE flagi są ustawione
Wersja PHP: 4+
Lista zmian: Domyślna wartość parametru zestawu znaków został zmieniony na UTF-8 w PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 i ENT_XHTML dodano 5,4 PHP

ENT_IGNORE dodano 5,3 PHP

Parametr double_encode dodano PHP 5.2.3

Postać, zestaw parametrów dodano 4,1 PHP

Więcej przykładów

Przykład 1

Konwersja kilka znaków do podmiotów HTML:

<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>

Wyjście HTML z kodem powyżej będzie (View Source) :

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

Wyjście przeglądarka kodu powyżej będą:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Uruchomić przykład »

Przykład 2

Konwersja kilka znaków HTML do podmiotów korzystających zachodnioeuropejskiego zestawu znaków:

<?php
$str = "My name is yvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>

Wyjście HTML z kodem powyżej będzie (View Source) :

<!DOCTYPE html>
<html>
<body>
My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.
</body>
</html>

Wyjście przeglądarka kodu powyżej będą:

My name is yvind Åsane. I'm Norwegian.
Uruchomić przykład »

<String referencyjny PHP