PHP HTML ENCODE

PHP HTML ENCODE
HTML w dużej mierze opiera się na użyciu tagów i znaków specjalnych. Niektóre znaki specjalne w HTML zawierają specjalne znaczenie, które wymaga ich użycia ostrożnie.

Na przykład znaczniki takie jak najczęściej używane znaki w HTML. Chociaż nie stanowią żadnych zagrożeń samodzielnie, gdy są niewłaściwie wykorzystywane, mogą złamać całą stronę internetową.

Takie znaki HTML również postawiają znaczącą wadę bezpieczeństwa, szczególnie w dynamicznych aplikacjach internetowych. Może to prowadzić do wstrzyknięcia złośliwego kodu, takiego jak dane JavaScript i formularze.

Istotą tego przewodnika jest pokazanie, w jaki sposób możesz użyć PHP do kodowania lub „odkażania” znaków HTML. Kodowanie takich znaków w dynamicznych stronach internetowych zapobiegnie skryptowaniu między stronami i ochronie strony internetowej przed zerwaniem.

Co koduje?

Kodowanie odnosi się do procesu przekształcania zastrzeżonych znaków w jednostki znaków HTML. Podmioty znaków HTML są wyrażane jako &value; gdzie „wartość” reprezentuje skrót lub liczbę dla każdego znaku.

HTML oferuje kompleksowy zbiór podmiotów. Musimy jednak tylko dotyczyć czterech z nich w celu kodowania:

  1. < - <
  2. > ->
  3. & - &
  4. = - "

Dowiedzmy się, jak możemy użyć PHP do kodowania takich znaków.

Funkcje kodujące PHP

PHP ma dwie główne funkcje, których można użyć do kodowania znaków HTML.

  1. Htmlspecialchars ()
  2. HtmLentities ()

Funkcje htmlspecialchars () kodują cztery główne postacie (powyżej), podczas gdy funkcja htmentities () będzie kodować wszystkie znaki, jak to możliwe.

Nauczmy się, jak korzystać z tych dwóch funkcji.

Php htmlspecialchars ()

Ta funkcja przekształca wszystkie specjalne lub zastrzeżone znaki HTML na jednostki HTML. Chociaż możesz określić, funkcja domyślnie zignoruje pojedyncze cytaty.

Ogólna składnia funkcji jest jak pokazano:

htmLentities (string $ string, int $ flags bool);

Funkcja akceptuje ciąg zawierający kodowanie HTML. Możesz także określić wartości flagi, które umożliwiają dostosowanie sposobu działania metody.

PHP pozwala również określić metodę kodowania, którą chcesz użyć dla jednostek HTML. Poniższy obraz pokazuje obsługiwane cechy.

Poniższy przykład pokazuje, jak użyć metody HTMLSpecialChars ().

$ str = "html używa tagi";
echo htmlspecialchars ($ str);
?>

Powyższy przykład zakoduje znaki HTML określone w zmiennej $ str.

Wyjście jest tak, jak pokazano:

Użycie HTML < and > Do tagi

Jeśli chcesz, aby funkcja przetwarzała pojedyncze i podwójne cytaty, możesz użyć flagi, jak pokazano w poniższym przykładzie:

$ str = "pojedynczy cytat jako 'i„ zostanie domyślnie zignorowany ”;
echo htmlspecialchars ($ str, ent_quotes);
?>

Po uruchomieniu powyższego kodu funkcja przetworzy pojedyncze cytaty i poda wyjście, jak pokazano:

Pojedynczy cytat jako „i” zostanie domyślnie zignorowany

Php htmlenities ()

Przyjrzymy się następnej postaci kodowania jest PHP HTMLEntities (). Ta funkcja przekształca wszystkie obowiązujące znaki HTML na jednostki HTML. Jest to idealny wybór, gdy potrzebujesz bezpiecznie przetwarzać swój HTML.

Ogólna składnia funkcji jest jak pokazano:

htmLentities (String $ string, int flagi);

Funkcja jest bardzo podobna do htmlspecialchars (), z wyjątkiem tego, że domyślnie przetwarza wszystkie znaki, które mogą.

Poniższy przykład pokazuje, jak korzystać z funkcji htmlentities ().

$ str = "

To jest ważny Kod HTML

";
Echo HtmLentities ($ str);
?>

Powyższy kod powinien zwrócić wszystkie znaczniki przekonwertowane na jednostki jako:

To jest ważny Kod HTML

Podobnie jak funkcja htmlspecialChars (), obsługuje flagi i kodowanie znaków kodujących. Sprawdź dokumentację, aby odkryć więcej.

Wniosek

W tym przewodniku dowiedziałeś się, jak podstawy kodowania znaków HTML. Nauczyłeś się również, jak używać PHP do konwersji znaków HTML na jednostki HTML.

Dziękujemy za przeczytanie i bądź na bieżąco z więcej.