htmlentities

funkcja

Zamienia WSZYSTKIE znaki specjalne HTML na encje — w odróżnieniu od htmlspecialchars, koduje też znaki diakrytyczne i symbole.

htmlentities(string $string, int $flags = ENT_QUOTES|ENT_SUBSTITUTE|ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string

htmlentities działa podobnie do htmlspecialchars, ale idzie dalej: koduje wszystkie znaki, które mają reprezentację jako encja HTML — w tym litery diakrytyczne (np. éé). W praktyce, jeśli deklarujesz dokument jako UTF-8 i podajesz 'UTF-8' jako kodowanie, lepiej używać htmlspecialchars — koduje tylko znaki naprawdę niebezpieczne dla HTML i nie psuje polskich liter w kodzie źródłowym strony.

Uwaga: domyślna wartość $flags = ENT_QUOTES|ENT_SUBSTITUTE|ENT_HTML401 obowiązuje od PHP 8.1. W PHP 8.0 wartością domyślną był ENT_COMPAT.

<?php
declare(strict_types=1);

echo htmlentities('<café>', ENT_QUOTES, 'UTF-8');
// wynik: &lt;caf&eacute;&gt;
📘 Naucz się w lekcji →