htmlentities

FunctionParams changed in PHP 8.1

Convert all applicable characters to HTML entities.

PHP 5
PHP 7.0
Improved
PHP 7.1-7.4
PHP 8.0
Improved
PHP 8.1
Improved
PHP 8.2
PHP 8.3
PHP 8.4
PHP 8.5

htmlentities Function synopsis

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

Parameters

$string

Typestring

The input string.

$flags

OptionalTypeintDefault valueENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401

A bitmask of one or more of the following flags, which specify how to handle quotes, invalid code unit sequences and the used document type. The default is ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.

$flags accepts one or a bitmask of the following constant values:

$encoding

OptionalType?stringDefault valuenull

$double_encode

OptionalTypeboolDefault valuetrue

When $double_encode is turned off PHP will not encode existing html entities. The default is to convert everything.

Return value

Typestring

Returns the encoded string.

If the input $string contains an invalid code unit sequence within the given $encoding an empty string will be returned, unless either the ENT_IGNORE or ENT_SUBSTITUTE flags are set.

Changes to the htmlentities Function

PHP 8.1

  • Parameter default value changed for position #2 ($flags): ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
  htmlentities(
      string $string,
-     int $flags = ENT_COMPAT,
+     int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
      ?string $encoding = null,
      bool $double_encode = true
    ): string

PHP 8.0

  • Return type added: string
  • Parameter type added for parameter #1 ($string): string
  • Parameter name of parameter #2 changed: $quote_style to $flags
  • Parameter type added for parameter #2 ($flags): int
  • Parameter default value added for position #2 ($flags): ENT_COMPAT
  • Parameter type added for parameter #3 ($encoding): ?string
  • Parameter default value added for position #3 ($encoding): null
  • Parameter type added for parameter #4 ($double_encode): bool
  • Parameter default value added for position #4 ($double_encode): true
  htmlentities(
-     $string,
+     string $string,
-     $quote_style,
+     int $flags = ENT_COMPAT,
-     $encoding,
+     ?string $encoding = null,
-     $double_encode
+     bool $double_encode = true
-   )
+   ): string

PHP 7.0

  • Parameter name of parameter #3 changed: $charset to $encoding
  htmlentities(
      $string,
      $quote_style,
-     $charset,
+     $encoding,
      $double_encode
    )

htmlentities Function Availability

PHP VersionAvailability
PHP 8.5Future Release Yes
PHP 8.4Upcoming Release Yes
PHP 8.3Supported (Latest) Yes
PHP 8.2Supported Yes
PHP 8.1Security-Fixes Only Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes