PHP 8 : filtre replace et premier paramètre null
Le fichier prive/style_prive_plugin_manuelsite.html
du plugin "manuel de rédaction du site" contient la ligne suivante :
[(#SET{background,#CONFIG{manuelsite/background_color}|replace{#,''}})]
Si la config par défaut n'est pas défini, alors le filtre replace reçoit null en paramètre (avec SPIP 4.2 sur le commit 786ab7e2).
Ce qui provoque en PHP 8.1
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/mrouquet/Sites/dev/spip-dev.test/ecrire/inc/filtres.php on line 3302
C'est la ligne
return preg_replace('/' . $expression . '/' . $modif, $replace, $texte);
qui est concerné.
Peut être que si $texte
est égal à null (ou équivalent), le renvoyer directement ?
Ou bien on considère que c'est aux appels de replace de faire le correctif en amont ?