problème avec filtre texte_script

Je me permets de reposer une question qui n'avait pas trouvé preneur :

Que fait exactement le filtre texte_script ?
Apparemment, chez moi, rien du tout.
Je m'attendais à ce qu'il insère des antislash (caractères d'échappement) mais non.
En fait j'essaie d'afficher le texte d'un article dans une fonction javascript, mais dès qu'elle rencontre un guillemet, ça plante.
Auriez-vous une piste ?

margranger <margranger@free.fr> wrote:

Je me permets de reposer une question qui n'avait pas trouvé preneur :

Que fait exactement le filtre texte_script ?
Apparemment, chez moi, rien du tout.
Je m'attendais à ce qu'il insère des antislash (caractères
d'échappement) mais non.
En fait j'essaie d'afficher le texte d'un article dans une fonction
javascript, mais dès qu'elle rencontre un guillemet, ça plante.
Auriez-vous une piste ?

Bonjour

texte_script est strictement réservé à l'utilisation du php dans spip.
Nécessaire pour récupérer du texte (pour les nombres on peut s'en
passer).
Pour ce qui est de javascript pas besoin de texte_script, tu peux
récupérer directement les contenus des balises #TEXTE, #TITRE, ...

Pour ce qui est de la question des guillemets et autres dans tes
variables javascript tu peux faire quelque chose du genre
var titi = [(#TITRE|add_slashes)]; puisque toutes les fonctions php qui
ont la variable principale en premier paramètre peuvent être appelées
depuis spip comme n'importe quel filtre.

(Voir peut-être aussi le filtre "entite_html" de spip)

Sinon on peut fabriquer l'équivalent de addslashes en javascript
Une recherche google avec "javascript addslashes" donne entre autres
<http://javascript.about.com/library/bladdslash.htm&gt;

--
Dominique
http://wojylac.free.fr

Dominique <dwojylac@free.fr> wrote:

Pour ce qui est de la question des guillemets et autres dans tes
variables javascript tu peux faire quelque chose du genre
var titi = [(#TITRE|add_slashes)]; puisque toutes les fonctions php qui
ont la variable principale en premier paramètre peuvent être appelées
depuis spip comme n'importe quel filtre.

je me corrige c'est addslashes (et non add_slashes)

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Le 17 déc. 07 à 17:25, Dominique a écrit :

texte_script est strictement réservé à l'utilisation du php dans spip.
Nécessaire pour récupérer du texte (pour les nombres on peut s'en
passer).
Pour ce qui est de javascript pas besoin de texte_script, tu peux
récupérer directement les contenus des balises #TEXTE, #TITRE, ...

Je ne suis pas spécialiste, mais apparemment non.
Avec addslashes, c'est mieux mais ça ne fonctionne toujours pas : si des caractères d'échappement sont bien produits pour les guillemets, ce sont les <br /> dans le corps de l'article qui mettent ma page sens dessus dessous. Le problème c'est que c'est en local donc je ne peux pas vraiment vous le montrer. Ce que je peux faire, c'est copier le source, si ça peut vous aider... à m'aider :slight_smile:

Maintenant, je ne comprends pas pourquoi javascript n'est pas capable de comprendre qu'il doit afficher tout ce qui se trouve entre deux guillemets...

--
martin

margranger <margranger@free.fr> wrote:

Avec addslashes, c'est mieux mais ça ne fonctionne toujours pas : si
des caractères d'échappement sont bien produits pour les guillemets,
ce sont les <br /> dans le corps de l'article qui mettent ma page
sens dessus dessous.

Donc
1. addslashes est bien la solution
2. C'est plus un pb de javascript mais 1 pb de css ou de bon choix de
balise conteneur
C'est quoi une structure de liste ?
Une structure de liste de définitions ?
certains conteneur n'acceptent pas une structure de bloc...

--
Dominique
http://wojylac.free.fr