preg_match_all funktionen

Tags:    php

Hej derude :D

Er der nogen der ved hvordan jeg bruger preg_mach_all funktionen til at hente oplysninger ud af denne stump kode:

Fold kodeboks ind/udKode 


Jeg vil gerne bruge preg_macht_all funktionen til at hente følgende oplysninger:

Linket (d.v.s) => "/link.php"
Billedet => "http://hjemmeside/img.png"
Teksten => "Teksten"

Den stump kode jeg kar skrevet er selvfølgelig gentaget mange gange i den rigtige variable. Jeg er intereseret i at finde linket, billedet og teksten hver gang denne stump er gentaget d.v.s alle forekomsterne. Dette skulle gerne kunne gøres med preg_match_all funktionen.

Jeg har prøvet at rode lidt med det men er ikke rigtig kommet frem til noget der virker.

Hvis der er nogen der har overskud til at skrive den "regular expression" kode som skal bruges sammen med preg_match_all funktionen til at hente oplysningerne ud af variablen ville jeg være yderst taknemmelig.

Den skal udfyldes ved "$expression" i følgende kode

Fold kodeboks ind/udKode 


Der skal selvfølgelig laves 3 af disse preg_macht_all funtioner. En til linkene, en til billederne og en til teksterne.

M.v.h Mathias
På forhånd tak :D





Indlæg senest redigeret d. 13.07.2009 17:44 af Bruger #15155
prøv denne. Det er den retning du skal arbejde:

Fold kodeboks ind/udKode 




Hej Michael.

Tak for koden :D Har gennemgået den og forstår den. Den ser ud til at virke fint. Du skal have 1000 tak for det.

Det eneste jeg ikke forstår er at $matches['0'] resultere i at vise hele koden. Er det meningen?





Indlæg senest redigeret d. 13.07.2009 20:17 af Bruger #15155




Indlæg senest redigeret d. 13.07.2009 20:17 af Bruger #15155
Jeg svarer lige :P Ja alt det der bliver matched vil blive sat ind i 0-positionen :)(gælder ved alle regular-expressions)

ps: Jeffrey Way har lavet nogle gode engelske screencasts om regular-expressions på themeforest-bloggen. http://blog.themeforest.net/screencasts/regular-expressions-for-dummies/

(håber ikke det bliver betragtet som reklame, da det faktisk er nogle super tutorials :)



Indlæg senest redigeret d. 13.07.2009 20:29 af Bruger #14210
Okay. Mange tak

Jeg har fundet en del fejl i din regex linje
som jeg har fået rette.

Den til billederne skal rettes til:
Fold kodeboks ind/udKode 


Den til linkene skal rettes til:
Fold kodeboks ind/udKode 


Men den til teksterne har jeg endnu ikke fået lavet. Den driller mig en del. Har siddet og rodet med det i lang tid for at få de andre to til at virke.

Er der nogen der kan skrive den sidste regex kode som sortere alle teksterne fra ville jeg blive meget glad.

Det er den sidste jeg mangler :P



Hvis formattet altid er det samme imellem alle poster, dvs. sådan en struktur her:
Fold kodeboks ind/udKode 

Kan du benytte følgende regex til at hente alle tre dele ud:
Fold kodeboks ind/udKode 

Om dette er effektivt eller ej skal jeg ikke kunne sige, men den regex burde altid virke med den angivne struktur. Som "bonus" fjerner den også <br> tags fra teksten :). Hvis du benytter den med preg_match_all, vil du få $matches[0] = det hele det blev matchet, $matches[1] = linket, $matches[2] = billed sti, $matches[3] = teksten.

Jeg har kun lige kort testet udtrykket, men det lod til at virke korrekt for de eksempler jeg testede med.



t