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) |
Liste des Caractères Spéciaux
Comprendre et maîtriser l'usage des méta caractères du
Proxomitron vous permettra de créer tous les filtres que vous voulez. Ce
sont ces caractères qui vous serviront à rechercher des
combinaisons complexes de tag HTML, à en capturer certaines portions et
à les placer dans le texte de remplacement. L'objectif de Scott
était de créer un langage de type rechercher/remplacer facile
à utiliser auquel serait ajouter la puissance des expressions
régulières. On peut voir qu'il ne s'est pas mal
débrouyé. Ces instructions ne tiennent pas compte de la casse des
caractères, vous évitant ainsi le labeur de tester si les tags
sont en majuscules ou minuscules. Les meta caractères du Proxomitron Voici la liste complète des meta caractères du Proxomitron et de
leur signification. Les commandes sur fond Bleu sont spécifique à la version Naoko4. + | Le plus indique une suite répétée de caractère. a+ trouvera a , aa , ou aaa par exemple. Vous pouvez l'utiliser à la suite d'autres meta
caractères ou de parenthèses pour créer des expressions
plus complexes. Comme : [abc]+ qui trouvera toutes combinaisons de a , b ou c . Par exemple : a babccba . ([a-z]&[^n])+ qui trouvera les combinaisons de lettres alphabétiques du moment
qu'elles ne contiennent pas de n . (foo)+ qui trouvera foo , foofoo ou foofoofoo . | + | Trouve 0 ou plus d'une expression donnée (au lieu de 1 ou plus dans la
version précédente). Vous pouvez l'utiliser avec des crochets
pour spécifier un nombre minimum : a+{1,*} trouvera 1 ou plusieurs a à suivre. | ++ | Comme le + trouvera une suite de caractères, mais ++ cherchera
uniquement jusqu'à ce que ce qui suit soit vrai. Il fonctionne comme le
* dans le style UNIX. Par exemple : [^>]++ fonctionnera de la même façon que le \w [a-z]++boat , si l'on considère le mot lifeboat , attrapera le life , alors que [a-z]+ aurait attrapé lifeboat en entier.
| {min,max} | ou {nombre exact} ou {min,*} . Les meta caractères + et ++ peuvent maintenant être suivis de crochets pour limiter le nombre de
répétition du ou des caractères à rechercher. Par
exemple : ?+{6} cherchera 6 caractères alors que ?+{6,12} en cherchera entre 6 et 12. L'astérisque peut être utilisé pour indiquer un nombre
illimité de caractères comme dans foo++{6,*}bar qui aura besoin d'un minimum de 6 foo consécutifs pour trouver l'expression recherchée.
| [#x:y] | ou [#x] . La fonction de test de nombres peut maintenant traiter des nombres
négatifs. Dans ce cas utilisez comme séparateur les (deux points) : au lieu du (tiret) - habituel. Par exemple : [#-400] trouvera -400 exactement. [#-100:-50] trouvera n'importe quel nombre compris entre -100 et -50 . [#-500:500] trouvera n'importe quel nombre compris entre -500 et +500 .
| * | L'astérisque permet de chercher n'importe quelle suite de
caractères. Par exemple "foo*bar" trouvera "foobar", "fooma babar" ou
même "foo goat bat bison bar". Brièvement l'astérisque veut
dire "cherche jusqu'à ce que tu trouves ce qui suit
l'astérisque". | ? | Le Point d'interrogation sert à chercher n'importe quel
caractère unique, peut importe ce qu'il est. "?oat" trouvera "boat" ou
"goat" ou même "<oat". | [abc] | Les crochets attrapent n'importe quel caractère placé entre [ et ] . Un rang de caractère peut aussi être créé en
utilisant un tiret : [a-z] trouvera ainsi n'importe quelle lettre comprise entre a et z dans l'alphabet,
alors que [0-9] trouvera n'importe quel chiffre. Si le premier caractère est ^ , il cherchera tous les caractères qui ne sont pas dans les crochets : [^0-9abc] trouvera tous les caractères qui ne sont pas des chiffres et qui ne
sont pas a , b ou c . | [#n-n] | Est utilisé pour chercher facilement un nombre dans les tags HTML. Par
exemple pour chercher un nombre compris entre 100 et 150 employez [#100-150] . Si le deuxième caractère est un astérisque, [#100-*] , cela cherchera tous les nombres compris entre 100 et l'infini. Pour trouver
un nombre inférieur à 100 utilisez simplement [#0-100] . Pour trouver un nombre exact, par exemple 46, écrivez ainsi : [#46] . Cela marchera qu'il y ai des 0 ou non devant le nombre recherché
(exemple 046 ou 46 ou 0046). Notez que cela ne marche normalement que pour les
nombres positifs, mais vous pouvez utiliser un signe moins pour trouver des
nombres négatifs (par exemple -[#2-7] trouvera les nombres compris entre -2 et -7). | | Un espace marche toujours, il absorbe n'importe quel espace qu'il rencontre,
même s'il y en a plusieurs. Utilisez le quand il peut ou pas y avoir
d'espace. Par exemple <tag value> trouvera <tag value> ou <tag value> ou <tagvalue> . | \s | Comme l'espace, il attrape n'importe quel nombre d'espaces consécutifs,
mais il doit au moins y en avoir un. Par exemple <tag\s> trouvera <tag > ou <tag > mais pas <tag> . | \w | Trouvera toute suite de caractères qui ne contient pas d'espace. C'est
l'opposé du \s , et quelque part un peu similaire à l'astérisque. La grosse
différence c'est qu'il arrêtera de chercher après avoir
trouvé un espace ou un > (qui marque la fin d'un tag HTML). Il est très utile pour attraper les
URLs ou le contenu de tags par exemple. | \t | Introduit explicitement une tabulation. | \r | Introduit explicitement un retour à la ligne. | \n | Introduit explicitement une nouvelle ligne. | \0-9 | Capture et place ce qui le précède dans une variable. C'est un
meta caractère très important. Il agit comme l'astérisque,
mais stocke ce qu'il trouve dans une des dix variables disponibles. Ces
variables peuvent ensuite être utilisées dans le texte de
remplacement pour y inclure des parties du texte HTML original. Vous
l'utiliserez pour changer certaines parties de tags tout en conservant le
reste. Par dans l'exemple : Matching : <body \1 background="*" \2> Replace : <body \1 background="monimage.gif" \2> Le filtre remplacera l'image de fond d'origine par la votre tout en laissant
le tag body inchangé ( \1 capture ce qu'il y a avant background et le replace dans le texte de
remplacement, \2 fais la même chose avec ce qui se trouve après). Des expressions plus complexes peuvent être capturées en
plaçant le \# directement après un couple de parenthèses, sans laisser d'espace entre la parenthèse fermante et le \# . Par exemple dans (foo*bar)\1 , tout ce qui se trouve entre les parenthèses sera capturé et
stocké dans \1 . | | | Utilisez la barre verticale (alt+6) comme une fonction OU. Par exemple foo|bar trouvera foo ou bar . | & | Utilisez le & comme une fonction ET. Par exemple *foo&*bar trouvera foo bar , ou bar foo , mais pas foo foo . Notez l'emploi de l'astérisque quelque chose de ce style est
toujours nécessaire avec une fonction ET, car un mot ne peut jamais
être en même temps et au même endroit foo et bar . La fonction ET est très utile pour les cas où les valeurs de
tag peuvent se présenter dans un ordre indéfini. Par exemple : <img src="image.gif" height=60 width=200> qui peut aussi s'écrire <img height=60 width=200 src="image.gif" > Pourra être attrapés à coup sûr par <img (*src="image.gif" & *height=60 & *widht=200)* > | && | Le double ET fonctionne de la même façon que le simple &, à la différence près (importante et utile) que le deuxième & se limite à trouver exactement ce que le premier a déjà trouvé. Si vous êtes un peu perdu l'exemple qui suit devrait vous éclairer. Disons que vous ayez une expression de la sorte : (<img * > && \1 ) le \1 fonctionne normalement comme un * et s'il n'y avait qu'un & il attraperait tout ce qui se trouve entre <img et la fin. Le double ET permet ici de n'attraper que le tag <img...> et rien de plus , le contenu est capturé par la variable \1. On peut utiliser ceci comme une sorte de borne pour être sûr de ne pas capturer plus que le tag qui nous intéresse. | ( ... ) | Utilisez les parenthèses pour créer des sous expressions dans
les phrases à chercher. Par exemple foo(bar|bear|goat) trouvera foobar , foobear ou foogoat . Les parenthèse peuvent être imbriquées comme dans foo(bar|(black|brown|puce)bear|goa t qui trouvera aussi bien foobar que fooblackbear ou foobrownbear , etc. De la même manière qu'avec les [ ... ] , si le premier caractère qui suit ( est un ^ , le filtre trouvera l'expression recherchée seulement si elle ne
contient pas les mots entre parenthèses. Par exemple (^foo|bar) trouvera tout ce qui n'est pas foo ou bar . | \ | L'antislash indique au Proxomitron que le caractère qui le suit est
à considérer comme un caractère standard et non un meta
caractère. Par exemple pour attraper une parenthèse dans un texte
HTML, on utilisera \( , pour attraper un contreslash \\ . | = | Le signe = est un peu spécial : il attrapera tous les signes = , mais également tout espace qui le suit ou le précède,
rendant les tests de valeurs de tags plus aisés. Par exemple foo="bar" trouvera foo= "bar" ou foo = "bar" . | " | Le guillemet double trouvera tout guillemet double ou simple (l'apostrophe),
puisque les deux peuvent être utilisés indistinctement en HTML.
Par exemple "*" attrapera "Oh jolie mangouste" comme 'Oh au jolie mangouste' . Si vous voulez attraper explicitement un double guillemet utilisez l'antislash, \" . | ' | Le guillemet simple (l'apostrophe) essaye d'attraper le guillemet fermant
appropriée dès qu'il a trouvé la première, et ceci
même s'il y a des guillemets entre les deux. En HTML il est courant
d'utiliser différents types de guillemets lorsqu'il y a des "guillemets
entre guillemets" regardez ces exemples : Guillemets simples entre guillemets double: href="javascript:window.open('bison.html');" Guillemets doubles entre guillemets simples: href='javascript:window.open("bison.html");' Tout cela devrait pouvoir s'attraper par href=("*') : le guillemet double devrait attraper le premier guillemet tandis que le
guillemet simple attrapera le dernier. Il y a néanmoins quelques
restrictions ici : les guillemets de départ et de fin doivent être
dans la même sous-expression, par exemple : "dutexte' marche ("dutexte') marche "(dutexte|unautre)' marche aussi "(dutexte') ne marchera pas ("|)du texte('|) ne marchera pas non plus. Il y a une deuxième restriction : les guillemets de départ et de
fin ne peuvent être imbriqués dans la même sous-expression. "quelque chose" encore un truc 'et puis ça' ne marchera pas. Cependant vous pouvez les imbriquer en utilisant une
sous-expression différente, comme ceci : "quelque chose (" encore un truc ') et puis ça' Il est aussi intéressant de signaler que si nul double guillemet ouvrant
n'est rencontré, le guillemet simple trouvera simplement un guillemet
simple, bien qu'il soit plus sûr d'employer \' pour trouver explicitement un guillemet simple. | <start>
<end>
| Lorsqu'elle ne contient pas l'expression recherchée (texte ou combinaison plus
complexe) la section "Matching Expression" peut prendre deux valeurs de
signification particulière : <start> ou <end> . <start> insert le texte de remplacement au début de la page Web. Vous
pouvez l'utiliser pour ajouter des choses comme du JavaScript à une page. De la
même manière <end> peut insérer des choses à la toute fin du document.
Pour ces deux instructions spéciales "Bounds" et "Limits" sont ignorés. Lorsque
ces "tags" sont utilisés par plusieurs filtres, les choses sont ajoutées dans
l'ordre d'apparition des filtres (de haut en bas dans la liste). |
Les caractères spéciaux du texte de remplacement En plus des meta caractères de recherche, il y en a aussi quelques un
qui s'utilise dans la formulation du texte de remplacement. Il y a bien
sûr les variables de \0 à \9 qui sont utilisés pour insérer le texte capturé dans les
textes de remplacement, mais on trouvera aussi : \u | Insert l'URL complet de la page web courante : http://www.site.org/dossier/page.html | \k | Tue la connexion courante très utile avec les en tête HTTP
pour éliminer certaines pages web spécifique et dans les filtres
de pages web pour bloquer le chargement du reste de la page. | \h | Insert la partie "host" de l'URL : http://www.site.org/dossier/page.html | \p | Insert la partie "path" de l'URL : http://www.site.org/dossier/page.html | \q | Insert la partie "query string" d'un URL : http://www.site.org/dossier/page.asp?cherche | \a | Insert la partie "anchor" d'un URL (ce qui suit le #) | \d | Insert l'URL de base d'un fichier file:// . |
The Proxomitron is Copyrighted to Scott R. Lemmon | |