[spip-dev] Filtre Replace avec retour chariot

Pat a écrit :

On finit par utiliser souvent le #EVAL{"chr(XX)"}, peut-on espérer un #CHR{XX} ?
L'idée de l'ajouter au Couteau Suisse m'a aussi traversé l'esprit...
Voici mon code :

// La balise #CHR, equivalent a #EVAL{"chr(XX)"}
function balise_CHR_dist($p) {
    if (($v = interprete_argument_balise(1,$p))!==NULL){
        $p->code = "chr(intval($v))";
        $p->type = 'php';
    }
    return $p;
}

Je suis d'accord, pas d'inconvénient à ça.
Il y a aussi #VAL{92}|chr qui fait pareil

Je suis d'accord, pas d'inconvénient à ça.
Il y a aussi #VAL{92}|chr qui fait pareil

Le problème de cette notation c'est qu'il faut connaître le numéro, et
que ça devient relativement illisible. Donc guère mieux que
#EVAL{chr(92)}

L'échappement traditionnel c'est \ -- je veux bien qu'on invente une
autre roue mais c'est dommage.

Cela dit c'est les conséquences en chaîne qui vont être dures à gérer
si on introduit l'échappement \ dans le phraseur.

10:28 < _fil_> si dans du javascript tu as .replace(/\(/, '.')
10:28 < _fil_> il faut pas le transformer en .replace(/(/, '.')
10:28 < _fil_> car ça pouiche
10:28 < Monolecte> pouicher... c'est dans wikipedia, ça?
10:29 < _fil_> si dans un squelette tu as |replace{'\(','.'}, pareil

-- Fil

Fil a écrit :

L'échappement traditionnel c'est \ -- je veux bien qu'on invente une
autre roue mais c'est dommage.

Cela dit c'est les conséquences en chaîne qui vont être dures à gérer
si on introduit l'échappement \ dans le phraseur.

10:28 < _fil_> si dans du javascript tu as .replace(/\(/, '.')
10:28 < _fil_> il faut pas le transformer en .replace(/(/, '.')
10:28 < _fil_> car ça pouiche
10:28 < Monolecte> pouicher... c'est dans wikipedia, ça?
10:29 < _fil_> si dans un squelette tu as |replace{'\(','.'}, pareil

Oui, il y a aussi $('#toto').html('j\'abandonne !');

A mon avis, c'est trop galère de pouvoir connaître quand SPIP doit intervenir ou non sur l'échappement.

Matthieu Marcillaud a écrit :

Fil a écrit :

L'échappement traditionnel c'est \ -- je veux bien qu'on invente une
autre roue mais c'est dommage.

Cela dit c'est les conséquences en chaîne qui vont être dures à gérer
si on introduit l'échappement \ dans le phraseur.

10:28 < _fil_> si dans du javascript tu as .replace(/\(/, '.')
10:28 < _fil_> il faut pas le transformer en .replace(/(/, '.')
10:28 < _fil_> car ça pouiche
10:28 < Monolecte> pouicher... c'est dans wikipedia, ça?
10:29 < _fil_> si dans un squelette tu as |replace{'\(','.'}, pareil

Oui, il y a aussi $('#toto').html('j\'abandonne !');

A mon avis, c'est trop galère de pouvoir connaître quand SPIP doit intervenir ou non sur l'échappement.

Ca serait beaucoup plus simple de modifier le parseur pour compter correctement les [ et ] et ne pas se tromper dans les crochets imbriqués, ce qui est la source de tous les #EVAL{chr(91)}

Cédric

cedric.morin@yterium.com a écrit :

Matthieu Marcillaud a écrit :

Oui, il y a aussi $('#toto').html('j\'abandonne !');

A mon avis, c'est trop galère de pouvoir connaître quand SPIP doit intervenir ou non sur l'échappement.

Ca serait beaucoup plus simple de modifier le parseur pour compter correctement les [ et ] et ne pas se tromper dans les crochets imbriqués, ce qui est la source de tous les #EVAL{chr(91)}

Non, pas uniquement. Exemple :
[(#REM) ceci est un crochet fermant ] et là aussi ]

Comment détermines-tu lequel ferme le #REM ? le premier ou le second ?

C'était aussi une façon de simplifier par exemple :
<script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/

en:
<script type="text/javascript">/*<!#CHR{91}CDATA#CHR{91}*/

Mais c'est une goutte d'eau après tout.
Pat

Fil a écrit :

Matthieu Marcillaud a écrit :

Non, pas uniquement. Exemple :
[(#REM) ceci est un crochet fermant ] et là aussi ]

Comment détermines-tu lequel ferme le #REM ? le premier ou le second ?

Je ne pense pas que cet exemple apporte quoique ce soit d'utile.

JL

JLuc a écrit :

Matthieu Marcillaud a écrit :

Non, pas uniquement. Exemple :
[(#REM) ceci est un crochet fermant ] et là aussi ]

Comment détermines-tu lequel ferme le #REM ? le premier ou le second ?

Je ne pense pas que cet exemple apporte quoique ce soit d'utile.

ah?
[(#REM) pour mon successeur: le test est du genre sioui/sinon: dix lignes de '|truc' bien indentées, !!vérifier les { et leurs fermetures !, !! ne pas rater la virgule qui sépare le sioui du sinon
(et re dix lignes de |truc bien indentées)
et, !!ATTENTION!! ne pas oublier le ] pour fermer!!, vu qu'un [ pas fermé peut mettre ton code en vrille, surtout si tu t'es embrouillé avec la ( qui suit ce qui doit être affiché avant la balise -mais après le [, tu avais pigé ça-
]

on n'a pas le droit ?

Frédéric Moinard a écrit :

JLuc a écrit :

Matthieu Marcillaud a écrit :

[(#REM) ceci est un crochet fermant ] et là aussi ]

on n'a pas le droit ?

désolé, je n'avais pas bien compris la proposition de caractères
d'échappements.

La proposition énnoncée ci dessus, tout comme la tienne, Frédéric,
est en effet indéterminable, sauf à introduire de nouvelles conventions,
un nouvel élément de grammaire, comme le caractère d'échappement,
ou un super-crochet ...

JL