08. november 2007 - 18:22
Der er
14 kommentarer og 1 løsning
regexp php - Unknown modifier 'b'
/<a href=\"/brugere/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>/i Hvad gør jeg lige forkert? Den udskriver: /<a href=\"/brugere/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>/i Warning: preg_match() [function.preg-match]: Unknown modifier 'b
Annonceindlæg fra SoftwareOne
08. november 2007 - 18:25
#1
hov, kom til at copy koden også.. den udskriver warning: ...
08. november 2007 - 18:30
#2
Hvis du bruger /-tegn i hver ende af dit mønster, så skal alle /-tegn i det indre escapes.
08. november 2007 - 18:31
#3
preg_match_all("/<a href=\"(.*?)?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>/is", $web, $regs);
08. november 2007 - 18:31
#4
Jeg ville nu hellere vælge et andet tegsn, så f.eks. #: #<a href=\"/brugere/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>#i
08. november 2007 - 18:32
#5
Hvad skal det sige? /<a href=\"\/brugere\/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>/is ?
08. november 2007 - 18:33
#6
preg_match_all("#<a href=\"/brugere/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>#i", $web, $regs); print_r($regs); Udskriver ingenting :/
08. november 2007 - 18:34
#7
Ja, eller gør som i 08/11-2007 18:31:41 - det er lidt mere læsevenligt. :^)
08. november 2007 - 18:35
#8
Jeg bruger bare mit eget eksempel: preg_match_all("/<a href=\"(.*?)?id=(.*?)\" target=\"hovedside\">(.*?)<\/a>/is", $web, $regs); Men smid svar, så deler vi
08. november 2007 - 18:36
#9
Hvis du briger '-tegn i stedet for "tegn rundt om strengen, kan du endda gøre den lidt mere læsevenlig: preg_match_all('#<a href="/brugere/brugerinfo.asp?id=(.*?)" target="hovedside">(.*?)</a>#i', $web, $regs); (PS: i koden 08/11-2007 18:33:53 skal <\/a> rettes til </a>)
08. november 2007 - 18:36
#10
Svar :^)
08. november 2007 - 18:41
#11
Jeg får: Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) ) Ved: preg_match_all("#<a href=\"/brugere/brugerinfo.asp?id=(.*?)\" target=\"hovedside\">(.*?)</a>#i", $web, $regs); Jeg har en masse HTML i $web variablen. Så skal den fange alt det der står mellem <a href="......" ......>HER</a> i $web.. Det kan være $web indenholder: "ksdjkajsdkajkd asd0as9 d9as09d <a href="/brugere/brugerinfo.asp?id=4238823" target="hovedside">heidi-min</a> kasjdjkajdk ajdkajsk daj" Så skal den hente "4238823" og "heidi-min"
08. november 2007 - 19:13
#12
Du skal escape det ?-tegn som blot skal være et ?-tegn: preg_match_all('#<a href="/brugere/brugerinfo\.asp\?id=(.*?)" target="hovedside">(.*?)</a>#i", $web, $regs); Desuden bør man også escape .-tegn, men det er ikke så kritisk.
12. november 2007 - 19:12
#13
Er du kommet vidre med den her?
19. november 2007 - 17:10
#14
??
24. april 2008 - 17:35
#15
Tak for point :^)
Vi tilbyder markedets bedste kurser inden for webudvikling