[spip-dev] C'est normal, ça, des filtres qui s'appliquent sans "|" ?

SPIP3, dernière version stable, je constate un comportement bizarre :
<a href="[(#URL_PAGE{detail}parametre_url{"id_article",#ID_ARTICLE})]">
est accepté par le compilateur et donne le même résultat que
<a href="[(#URL_PAGE{detail}|parametre_url{"id_article",#ID_ARTICLE})]">

De la même manière
[(#TEXTEimage_reduire{400,300})]
est accepté par le compilateur et donne le même résultat que
[(#TEXTE|image_reduire{400,300})]

C'est normal, ça, ces filtres qui s'appliquent sans le "pipe" ?

SPIP3, dernière version stable, je constate un comportement bizarre :
<a href="[(#URL_PAGE{detail}parametre_url{"id_article",#ID_ARTICLE})]">
est accepté par le compilateur et donne le même résultat que
<a href="[(#URL_PAGE{detail}|parametre_url{"id_article",#ID_ARTICLE})]">

Je reproduis effectivement ici.

De la même manière
[(#TEXTEimage_reduire{400,300})]

Mais pas cela non.

On dirait que s'il y a une fermeture d'accolade, le pipe peut être absent…

J'ai le même comportement en 2.0 et 2.1.

MM.

Alors… cela fonctionne même sans accolade sur la première balise, en laissant un espace ; et même si le filtre n'a pas d'accolade non plus.

[(#TEXTE couper{100})]

[(#TEXTE strtoupper)]

Amusant.

MM.

En explorant un peu, l'analyse est faite par la preg_match de phraser_arg() dans ecrire/public/phraser_html.php qui tolère l'absence de pipe. Est-ce judicieux…
C'est certainement pour partager du code à d'autres endroits.

https://core.spip.net/projects/spip/repository/entry/spip/ecrire/public/phraser_html.php#L246