Miroir du site http://www14.brinkster.com/proxomitron
[Copie du site en format ZIP: mirroir.zip]

logo titre

 
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