?filtre ou formatou plugin ..? appliquer sur #TITRE pour placer dans une URL vers l'ext?rieur

lut tutti ( et bon Réveillon )

j'essaie de placer une chaine de caractère basée sur les #TITRE de la
rubrique + article dans une URL pour lier un article de SPIP à un article
Wiki

ça donne qq chose du style :
href="<:briey:url_wp_title:><:briey:url_wp_espace_mgbz:><BOUCLE_rubrique_article1(RUBRIQUES)
{id_rubrique}>[(#TITRE)/]</BOUCLE_rubrique_article1>[(#TITRE)]"

quel filtre SPIP pourrait sécuriser ce type de construction d'URL un peu
"sauvage" ?

  [(#TITRE|entites_html|attribut_html)] m'irait bien

=fonctionne pour les libellés simples, même avec accents,
sachant que la syntaxe des URL dans un MediaWiki est assez souple
... mais ne fonctionne pas à tous coups (si ", ?, ! , etc)
où pourrait-on surcharger le code SPIP pour éliminer à tout coup ce genre
d'entités toxique ? ;O))

Exemple d'utilisation :
http://www.mgbz-briey.net/spip.php?page=wiki_article&id_article=513

Merci pour les idées et les pistes à suivre ;O)
@+

Dr JFBurté(orange <burtejf <at> orange.fr> writes:

j'essaie de placer une chaine de caractère basée sur les #TITRE de la
rubrique + article dans une URL pour lier un article de SPIP à un article
Wiki
<a href="<:briey:url_wp_title:><:briey:url_wp_espace_mgbz:>
<BOUCLE_rubrique_article1(RUBRIQUES)
{id_rubrique}>[(#TITRE)/]</BOUCLE_rubrique_article1>[(#TITRE)]"

quel filtre SPIP pourrait sécuriser ce type de construction d'URL un peu
"sauvage" ?

si je comprends bien (j'ai un peu de mal là), tu voudrais nettoyer ce que
retournent <:briey:url_wp_title:> et <:briey:url_wp_espace_mgbz:>, c'est ça ?

perso, je ferais :

<a href="<?php echo
rawurlencode("<:briey:url_wp_title:><:briey:url_wp_espace_mgbz:>"); ?><
BOUCLE_rubrique_article1(RUBRIQUES)>{id_rubrique}>[(#TITRE|attribut_html)/]</
BOUCLE_rubrique_article1>[(#TITRE|attribut_html)]">...</a>

1) attention à bien entourer de double quote (") les balises de trad
dans
l'appel php ;

2) inutile d'ajouter les deux filtres |attribut_html et |entites_html
sur tes
#TITRE :
le seul |attribut_html est suffisant puisqu'il appelle lui-même le second
(par
l'intermédiaire de |texte_backend )

3) |attribut_html nettoie parfaitement les ", !, ? :
#SET{titre,voilà : "l'homme" ! ; (alors, qui est-ce ?)}
[(#GET{titre}|attribut_html)] me donne :
voilà : "l'homme" ! ; (alors, qui est-ce ?)

4) le rawurlencode me donne :
voil%C3%A0%20%3A%20%22l%27homme%22%20%21%20%3B%20%28alors%2C
%20qui%20est-ce%20%3F%29

denisb <denisb <at> laposte.net> writes:

si je comprends bien

ouais bon...
manifestement ce n'était pas le cas !

tu veux supprimer de tes #TITRE les caractères qui ne sont pas acceptés en url
par ton wiki (j'ai bon cette fois ?)

1) il te faut lister ces caractères interdits (?, !, ",...)
2) nettoyer tes #TITRE de ces caractères (pour ? ! ") :
[(#TITRE|replace{'(\?|\!|")', ''}|attribut_html)]

un titre du style :
voilà : "l'homme" ! ; alors ? qui est-ce ?

passé à la moulinette retournera :
voil&#224; : l&#39;homme ; alors qui est-ce

3) |attribut_html nettoie parfaitement les ", !, ? :
#SET{titre,voilà : "l'homme" ! ; (alors, qui est-ce ?)}
[(#GET{titre}|attribut_html)] me donne :
voilà : "l'homme" ! ; (alors, qui est-ce ?)

lut Denis , et merci
.. effectivement |attribut_html semble fait l'affaire seul grâce à
l'incroyable souplesse des URL unicode et du traitement par Mediawiki..
j'avais des gros doutes sur le besoin d'utiliser |replace avec des
expresssions bizarroides habituelles, pour qq cas tordus. Mais apparement ça
roule

NB : les balises <:briey:bla_bla:> ne me posent pas de pb puisque c'est moi
qui les écrit et donc je fais gaffe
.. par contre il faut que j'interdise en édition(crayons) les #TITRE des
rubrique et article sur le SPIP .. sinon forcément l'URL va varier et ça ne
matchera plus sur le Wiki
=ils se contenterons de crayonner les autres zones, na! ;O))
@+ de jfb

"denisb" <denisb@laposte.net> a écrit dans le message de news:
loom.20071231T171806-563@post.gmane.org...
Dr JFBurté(orange <burtejf <at> orange.fr> writes:

j'essaie de placer une chaine de caractère basée sur les #TITRE de la
rubrique + article dans une URL pour lier un article de SPIP à un article
Wiki
<a href="<:briey:url_wp_title:><:briey:url_wp_espace_mgbz:>
<BOUCLE_rubrique_article1(RUBRIQUES)
{id_rubrique}>[(#TITRE)/]</BOUCLE_rubrique_article1>[(#TITRE)]"

quel filtre SPIP pourrait sécuriser ce type de construction d'URL un peu
"sauvage" ?

si je comprends bien (j'ai un peu de mal là), tu voudrais nettoyer ce que
retournent <:briey:url_wp_title:> et <:briey:url_wp_espace_mgbz:>, c'est ça
?

perso, je ferais :

<a href="<?php echo
rawurlencode("<:briey:url_wp_title:><:briey:url_wp_espace_mgbz:>"); ?><
BOUCLE_rubrique_article1(RUBRIQUES)>{id_rubrique}>[(#TITRE|attribut_html)/]</
BOUCLE_rubrique_article1>[(#TITRE|attribut_html)]">...</a>

1) attention à bien entourer de double quote (") les balises de trad
dans
l'appel php ;

2) inutile d'ajouter les deux filtres |attribut_html et |entites_html
sur tes
#TITRE :
le seul |attribut_html est suffisant puisqu'il appelle lui-même le second
(par
l'intermédiaire de |texte_backend )

3) |attribut_html nettoie parfaitement les ", !, ? :
#SET{titre,voilà : "l'homme" ! ; (alors, qui est-ce ?)}
[(#GET{titre}|attribut_html)] me donne :
voilà : "l'homme" ! ; (alors, qui est-ce ?)

4) le rawurlencode me donne :
voil%C3%A0%20%3A%20%22l%27homme%22%20%21%20%3B%20%28alors%2C
%20qui%20est-ce%20%3F%29