Accueil Présentation Pour commencer Télécharger/Installer Fenêtre Principale Fenêtre Config. Fenêtre Filtres HTML Fenêtre Filtres HTTP Fenêtre Log Fenêtre Proxy. Travailler avec les filtres Introduction Editeur Filtres HTML Editeur Filtres HTTP Fenêtre Test Importer des filtres Trucs & Astuces Caractères Spéciaux Détails Block List Filtre d'URL Commandes d'URL Comm. de recherche Conn. Sec. Proxies CGI Pile Mise en uvre JavaScript Exercices Aide mémoire (.pdf) Menus déroulants FAQ Version Beta Misc Liens Fil d'infos (RSS) | Le Proxomitron supporte 10 variables de remplacement de \0 à \9 . Dans la plupart des cas, cela marche plutôt bien, mais
occasionnellement il vous faudra quelque chose de plus. Comment faire par
exemple pour capturer chaque élément d'un URL dans une variable
différente. On peut par exemple utiliser ceci : http://(*/)+.html le (*/)+ attrapera chaque section de l'URL, mais comment les capturer chacune dans une
variable différente ? C'est là que la pile de remplacement entre
en oeuvre. Elle utilise le caractère \# qui, comme les variables \0 à \9, stocke la valeur rencontrée.
Chaque fois que le nouveau meta caractère est appelé, il stocke
la valeur rencontrée sur une "pile" qui peut contenir jusqu'à 100 éléments. Les éléments de la pile peuvent alors
être utilisés dans le texte de remplacement, le premier
rentré étant le premier sorti. Nous pouvons donc formuler
une expression de recherche : Chaque itération de (...)+ pousse une valeur différente sur la
pile, ensuite tout sera attrapé par le \# final. Comme les autre
variables positionnables, les variables de pile peuvent
être utilisées directement après les parenthèses
pour capturer ce qu'il y a dedans. Par exemple : Le texte de remplacement reconnaîtra également un autre
caractère spécial \@ . Il démonte la pile d'un coup dans l'ordre d'arrivé (il
remplace le \#\#\#\#\#\#\#...). C'est probablement celui que vous utiliserez le
plus souvent. Quelques utilisations possibles Il faut avoir en tête que le \# agit exactement comme les variables \1, \2, \3 à la différence près que chaque fois qu'il est
sollicité, la valeur est stockée sur ce qu'il y avait
déjà en variable au lieu de la remplacer. Voici quelques exemples
: Le premier \# attrape le texte jusqu'au premier attribut à enlevé (s'il y en
a). L'itération suivante de la boucle attrape ce qu'il y a entre
celle-ci et l'autre. Le dernier \# attrape tout ce qui se trouve à gauche du dernier attribut ou le tag
entier s'il n'y a pas d'attribut. (\#$LST(AttributsDeRemplacement))+\# Avec une liste d'éléments de la sorte : # attr1=foo $SET(\#=foo=bar) pour remplacer sélectivement à la fois l'attribut et sa valeur
par quelque chose d'autre. (Actuellement c'est même meilleur parce que
les éléments son hashables dans la liste et traités plus
rapidement). Pour finir, l'exemple d'un filtre qui capture tous les URLs contenant foo ou bar d'une page quelconque : Name = Supprime tout sauf les liens |