Avatar billede mr_bambi Nybegynder
07. april 2005 - 04:39 Der er 8 kommentarer og
1 løsning

Fetch af to variabler fra "<a href" string

Jeg skal gerne bruge et regex pattern, der ud fra følgende tekstlinie

document.write('<a href=http://www.albinogorilla.dk/amdi/23398 target=_blank><img src=http://www.albinogorilla.dk/frontpageThumb.asp?BlogID=23398 border=0 alt="There\'s a first time for everything"></a><br>There\'s a first time for everything<br><br>');

henter henholdsvis "23398" og "There's a first time for everything" ud i //1 og //2 (eller hvilke som helst //# - bare det virker).


Kom så - 30 point til den første, der kan få det til at virke ;)

Mvh Bjørn
Avatar billede roenving Novice
08. april 2005 - 13:37 #1
-- og strngen ser altid sådan ud (uden gåseøjne om attributterne og sådan ?-)

(javascript !-)
reg = /.*?<a.*?href=.*?(\d+)[ >"].*alt="(.*?)".*/
Avatar billede roenving Novice
08. april 2005 - 13:38 #2
Hov, der mangler et spørgsmålstegn, for alle stjerner skal have sådan et efter sig !-)

reg = /.*?<a.*?href=.*?(\d+)[ >"].*?alt="(.*?)".*/
Avatar billede mr_bambi Nybegynder
08. april 2005 - 13:53 #3
Nu skriver du (javascript) oven over strengen. Jeg havde indtrykket af, at et regex expression var det samme på tværs af sprogene?
Det skal nemlig bruges i en php ereg(), og hvis jeg sætter det ind, du har givet mig i øjeblikket, får jeg en

Warning: ereg(): REG_BADRPT in /hotel/mr-bambi/WWW/blog/moblog.php on line 11

Og så stod jeg lige: "Hmm...."  ;-)
Avatar billede mr_bambi Nybegynder
08. april 2005 - 13:54 #4
Og ja, strengen ser altid sådan ud. Det er blandt også en af grundene til, at jeg vil fetche den og selv sætte den ind, da Albinogorilla tydeligvis sutter røv til at at skrive noget så simpelt som HTML 4.0-compliant kode :)
Avatar billede roenving Novice
08. april 2005 - 14:01 #5
Tegnene i regexps betyder stort set det samme i de forskellige programmeringssprog, men der er nogle detaljer i hvordan man definerer, som gør forskel ...

-- men der er jo gåseøjne inde i strengen, og i en ereg skal man såvidt jeg husker have det i en tekst-streng, så man skal nok:

reg = "/.*?<a.*?href=.*?(\d+)[ >"].*?alt=\"(.*?)\".*/";

-- skråstregerne, som begynder og afslutter en javascript-regexp, kan jeg ikke huske om er tilladt eller nødvendig i php !-)
Avatar billede mr_bambi Nybegynder
08. april 2005 - 15:41 #6
Nå, jeg fik leget lidt mere med det selv, og fik det endelig til at virke. Ereg-kaldet ser ud som følger:

ereg("^[^0-9]+([0-9]+).+alt=\"([^\"]*)", $fp[$i], $pics[$i]);
That should do the trick!

Men jeg vil da gerne give dig dine point for et helhjertet forsøg (som sikkert også virker i JavaScript ;), og jeg brugte det da også til at lade mig inspirere af... Så smid et svar, og du får pointene. Jeg har rigeligt *gg*
Avatar billede roenving Novice
09. april 2005 - 11:59 #7
Oki, og selv om jeg jo nok heller ikke kommer til at mangle point de næste par dage, så velbekomme '-)
Avatar billede roenving Novice
10. april 2005 - 04:24 #8
-- og tak for point ;~}
Avatar billede mr_bambi Nybegynder
10. april 2005 - 04:25 #9
Jamen, selv tak da :@)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester