Funkcja html_entity_decode() w PHP
Przykład
Konwertuje zdefiniowane HTML entity "<" (mniejszy od) i ">" (większy od) na znaki:
<?php $str = "To jest pewien <b>pogrubiony</b> tekst."; echo htmlspecialchars_decode($str); ?>
Wyjście HTML powyższego kodu wygląda tak (zobacz kod źródłowy):
<!DOCTYPE html> <html> <body> To jest pewien <b>pogrubiony</b> tekst. </body> </html>
Wyjście przeglądarki powyższego kodu:
To jest pewien pogrubiony tekst.
Definicja i użycie
Funkcja htmlspecialchars_decode() konwertuje zdefiniowane HTML entity na znaki.
Dekodowane HTML entity to:
- & Dekoduje do & (i)
- " Dekoduje do " (cudzysłów podwójny)
- ' Dekoduje do ' (cudzysłów pojedynczy)
- < Dekoduje do < (mniejszy od)
- > Dekoduje do > (większy od)
Funkcja htmlspecialchars_decode() jest odwrotnością funkcji htmlspecialchars().
Gramatyka
htmlspecialchars_decode(string,flags)
Parametr | Opis |
---|---|
string | Wymagane. Określa ciąg znaków do dekodowania. |
flags |
Opcjonalnie. Określa sposób obsługi cudzysłów oraz używany typ dokumentu. Dostępne typy cudzysłów:
Dodatkowe flagi określające używany typ dokumentu:
|
Szczegóły techniczne
Zwrócony wynik: | Zwróć przetworzony ciąg znaków. |
Wersja PHP: | 5.1.0+ |
Log zmian: |
W PHP 5.4 dodano dodatkowe flagsy do określenia używanego typu dokumentu:
|
Więcej przykładów
Przykład 1
Konwersja zdefiniowanych HTML entity na znaki:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars_decode($str, ENT_COMPAT); // Konwertuj tylko podwójne cudzysłów echo "<br>"; echo htmlspecialchars_decode($str, ENT_QUOTES); // Konwersja podwójnych i pojedynczych cudzysłów echo "<br>"; echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Nie konwertuj żadnych cudzysłów ?>
Wyjście HTML powyższego kodu wygląda tak (zobacz kod źródłowy):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Wyjście przeglądarki powyższego kodu:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Przykład 2
Konwersja zdefiniowanych przez PHP HTML entity na podwójne cudzysłów:
<?php $str = 'I love "PHP".'; echo htmlspecialchars_decode($str, ENT_QUOTES); // Konwersja podwójnych i pojedynczych cudzysłów ?>
Wyjście HTML powyższego kodu wygląda tak (zobacz kod źródłowy):
<!DOCTYPE html> <html> <body> Kocham "PHP". </body> </html>
Wyjście przeglądarki powyższego kodu:
Kocham "PHP".