Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 11:43:13 Salut salut !
Euh je suis en train de coder un exploit (ouais ouais un espèce de proxy en PHP pour contourner un firewall... et ca marche xD) et j'aurais besoin d'exclure une chaine (je dois refaire les liens). Le pb c'est que [^foo] exclue "f" ou "o" ou "o", or je voudrais exclure une chaine entière, vous pouvez m'aider ? Titre: [regex] Exclusion d'une chaine Posté par: pepekiss le 09 Août 2006 à 12:01:34 si tu veux delete une chaine
$var=str_replace("foo","",$var); pas besoin de te faire chier avec les regexp ^^ Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 12:25:20 non je ne peux pas, parceque je fais un scan des liens (en plusieurs fois), et je ne veux pas récupérer les liens absolus, donc je ne veux pas prendre en compte la chaine "http" au début des guillemets.
Titre: [regex] Exclusion d'une chaine Posté par: pepekiss le 09 Août 2006 à 12:47:34 $var=preg_replace("/http:\/\/[a-ZA-Z.]{1,}/","",$var);
ça devrait etre bon ça Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 12:52:31 Naaan je ne veux pas m'occuper dans un premier temps des URL absolues...
La regex de mon preg_replace : '#(href|action|import|src)=?"[^/](.+)"#i' <-- mais je veux exclure les http://, tout comme j'ai fais avec le "/" ([^/]) Titre: [regex] Exclusion d'une chaine Posté par: the lsd le 09 Août 2006 à 13:03:49 c'est pas avec les { }
genre{^http} Reprenez moi si je dis des betises mes connaissances sur les regex sont assez faibles Enjoy The lsd Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 13:05:59 euh les accolades c'est pour le nb d'occurence... enfin je crois... genre euh aaaah mais oui !!!
vais essayer (http){0} et je vous dis xD Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 14:25:23 et bah non... ca n'a pas d'effet :s
Titre: [regex] Exclusion d'une chaine Posté par: pepekiss le 09 Août 2006 à 17:16:19 si tu veux supprimer les http:// .... essaie ma commande. Normalement elle est bonne (si toutefois j'ai bien compris ce que tu veux faire)
Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 18:39:49 je veux pas les supprimer... je veux ignorer les liens qui en ont...
Titre: [regex] Exclusion d'une chaine Posté par: pepekiss le 09 Août 2006 à 19:17:42 ok ben tu fais :
if (!preg_match("/^http/",$var)) { ici t'as les liens qui commencent pas par http:// } Titre: [regex] Exclusion d'une chaine Posté par: lordzak le 09 Août 2006 à 20:33:24 bizarre ca ne fonctionne pas, il ignore bien les liens commençant par http... mais aussi tous les autres... voici mon preg_replace :
Citation $site = preg_replace('#(a|img|link)(.+)(href|action|import|src)[= ]?"^(?:http)(.+)"#iU',"$1$2$3=\"$local/b.php?u=$current_folder/$4\"", $site); |