| Autor | Zpráva | ||
|---|---|---|---|
| Joeicz Profil * |
#1 · Zasláno: 1. 8. 2010, 18:38:01
Dobrý den,
Prosím vás o pomoc s regulérním výrazem. Dělám si statistiky pro web a už mi chybí jen pozice v googlu. Potřebuji pomocí preg_match vatáhnout tu jedničku, ale ten kód 0CBgQFjAA se mění, vyhledat potřebuji podle url www..........cz. <a href="http://www..........cz/" class="l" onmousedown="return clk(this.href,'','','','1','','0CBgQFjAA')"> Všem moc děkuji. |
||
| Str4wberry Profil |
#2 · Zasláno: 2. 8. 2010, 23:45:15
A co jste už vymyslel?
|
||
| Joeicz Profil * |
#3 · Zasláno: 3. 8. 2010, 00:19:21
Str4wberry:
„A co jste už vymyslel?“ Kdybych to uměl vymyslet, tak neprosím o radu. |
||
| __construct Profil |
#4 · Zasláno: 3. 8. 2010, 09:07:20
|
||
| Joker Profil |
#5 · Zasláno: 3. 8. 2010, 09:34:36
Joeicz:
Já bych to asi vyřešil úplně triviálně: onmousedown="return clk\(this\.href,'','','','1','','([a-zA-Z0-9]+)'\)" |
||
| Kajman_ Profil * |
#6 · Zasláno: 3. 8. 2010, 09:37:35
Jen asi má být v závorce ta jednička, co se asi může měnit.
onmousedown="return clk\(this\.href,'','','','([0-9]+)','','[a-zA-Z0-9]+'\)" |
||
| Joker Profil |
#7 · Zasláno: 3. 8. 2010, 10:05:32
Kajman:
Jo ajo, on chce vytáhnout tu jedničku. Tak potom takhle. |
||
| Joeicz Profil * |
#8 · Zasláno: 3. 8. 2010, 10:57:04
Kajman:
onmousedown="return clk\(this\.href,'','','','([0-9]+)','','[a-zA-Z0-9]+'\)" Takhle to funguje, to jsem zkoušel díky, ale já potřebuji aby to našlo podle té URL a pokud to napíši takhle: #<a href=\"http://www.............cz/\" class=\"l\" onmousedown=\"return clk\(this\.href,\'\',\'\',\'\',\'([0-9]+)\',\'\',\'[a-zA-Z0-9]+\'\)#si Tak to nefunguje, asi to budou ty mezery, ale já nevím jak je zapsat. Jinak všem děkuji za pomoc. |
||
| AM_ Profil |
#9 · Zasláno: 3. 8. 2010, 12:07:14 · Upravil/a: AM_
Problém bude v neoescapovaných tečkách v url.
a proč nematchovat jenom <a href=\"http://www.............cz/\" class=\"l\" ? proč do výrazu tahat ještě funkci v onmousedown()? A vůbec, nebylo by lepší vzít na to nějaký HTML DOM parser? ono tahat hodnoty z HTML kódu regulárními výrazy je pořád tak trochu drbání se levou rukou za pravým uchem... |
||
| Joeicz Profil * |
#10 · Zasláno: 3. 8. 2010, 13:14:32
AM:
„Problém bude v neoescapovaných tečkách v url.“ Místo těch teček je samozřejmě url adresa. „a proč nematchovat jenom <a href=\"ht>tp://w>ww.............cz/\" class=\"l\" ? proč do výrazu tahat ještě funkci v onmousedown()?“ Já potřebuji právě to číslo v té funkci. To číslo značí pozici, kterou potřebuji vytáhnout. Jinak samozřejmě děkuji. |
||
| AM_ Profil |
#11 · Zasláno: 3. 8. 2010, 17:55:51
Joeicz:
„Místo těch teček je samozřejmě url adresa.“ a v té adrese se žádná tečka nevyskytuje? „Já potřebuji právě to číslo v té funkci. To číslo značí pozici, kterou potřebuji vytáhnout.“ pak je asi nejjednodušší toto řešení. Zkus si ten regulár maximálně zjednodušit, nejdřív si matchnout třeba jen kousek toho odkazu, a postupně zjistit, proč ti to PŘESNĚ nefunguje. Až budeš vědět "když matchuju mezeru tak mi to nejde" nebo tak něco, tak sem s tím přijď, ale chybu v dlouhém reguláru se slovy "hledejte šmudlové" tu neberem... |
||
| Joeicz Profil * |
#12 · Zasláno: 3. 8. 2010, 18:52:18
AM:
„a v té adrese se žádná tečka nevyskytuje?“ v url je vždycky tečka „hledejte šmudlové“ nic takového jsem nepsal. Vždy jste mi tu pomohly a taky si toho vážím a určitě si to nemyslím. „hybu v dlouhém reguláru“ Tohle už mám vyřešené: onmousedown="return clk\(this\.href,'','','','([0-9]+)','','[a-zA-Z0-9]+'\) tohle chybí: www.............cz/\" class=\"l\" ten je fakt dlouhý, nevěděl jsem, že je to takový problém. |
||
| AM_ Profil |
#13 · Zasláno: 3. 8. 2010, 19:59:25 · Upravil/a: AM_
Joeicz:
> „hledejte šmudlové“ > nic takového jsem nepsal. Vždy jste mi tu pomohly a taky si toho vážím a určitě si to nemyslím. já vím, že nepsal, a rádi ti pomůžem, ale součástí tvé vlastní snahy je problém maximálně zjednodušit :) „ten je fakt dlouhý, nevěděl jsem, že je to takový problém.“ vzhledem k tomu, že v regulárech jde opravdu o každý znak, tak najít přesné umístění chyby je otrocká práce, kterou můžeš udělat i ty. > tohle chybí: > w>ww.............cz/\" class=\"l\" jak jsem říkal, máš oescapované konkrétní adresy? např. www\.google\.cz/\" class=\"l\" //mimochodem nahlédl jsem do zdrojáku výsledkové stránky google a to class=l je tam bez uvozovek. |
||
| Joeicz Profil * |
#14 · Zasláno: 3. 8. 2010, 20:44:53
Díky pomohlo to a chybu jsem dělal já.
Text jsem označil a dal zobrazit zdroják, bylo tam class="l" a ctrl+u je class=l. Omlouvám se a ještě jednou děkuji AM_ za proškolení, budu si to pamatovat. Opravdu moc díky. |
||
|
Časová prodleva: 16 let
|
|||
0