Update call to html_entity_decode for PHP 8.1

Created on 4 October 2023, about 1 year ago
Updated 28 June 2024, 5 months ago

Problem/Motivation

PHP 8.0 will be end-of-life in November. Codesniffer found multiple instances of one issue in the module for PHP 8.1.

Steps to reproduce

Run a codesniffer with PHP 8.1 compatibility rules on the module.
Note these errors are returned:

FILE: feeds/plugins/FeedsSimplePieParser.inc
----------------------------------------------------------------------------------------------
FOUND 5 ERRORS AFFECTING 5 LINES
----------------------------------------------------------------------------------------------
  83 | ERROR | The default value of the $flags parameter for html_entity_decode() was changed
     |       | from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
     |       | cross-version compatibility, the $flags parameter should be explicitly set.
  85 | ERROR | The default value of the $flags parameter for html_entity_decode() was changed
     |       | from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
     |       | cross-version compatibility, the $flags parameter should be explicitly set.
  91 | ERROR | The default value of the $flags parameter for html_entity_decode() was changed
     |       | from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
     |       | cross-version compatibility, the $flags parameter should be explicitly set.
  93 | ERROR | The default value of the $flags parameter for html_entity_decode() was changed
     |       | from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
     |       | cross-version compatibility, the $flags parameter should be explicitly set.
 105 | ERROR | The default value of the $flags parameter for html_entity_decode() was changed
     |       | from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
     |       | cross-version compatibility, the $flags parameter should be explicitly set.
----------------------------------------------------------------------------------------------

Proposed resolution

Update the function call to html_entity_decode() to explicitly set the flags parameter to ENT_COMPAT, which should produce the same results across all supported PHP versions.

Remaining tasks

Patch and test.

User interface changes

None.

API changes

None.

Data model changes

None.

πŸ“Œ Task
Status

Fixed

Version

2.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States cboyden

Live updates comments and jobs are added and updated live.
  • PHP 8.1

    The issue particularly affects sites running on PHP version 8.1.0 or later.

Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024