Avatar billede alaflam Nybegynder
24. februar 2005 - 18:23 Der er 11 kommentarer og
1 løsning

regular expression fejl

if ( preg_match_all( "<a href=\"(*)(mp3|rm|ram)\">(*)</a>", $html, $matches ) )

<a href='http://asdd.ram'>ioasdjioa</a>

jeg prøver på at fange hele den her link.

men jeg får følgende fejl.

Warning: Unknown modifier '(' in /srv/www/htdocs/search.php on line 4

jeg fjerner de steder jeg har ( ved *

(*) = *

så får jeg Unknown modifier '*' in /
Avatar billede coderdk Praktikant
24. februar 2005 - 18:39 #1
if ( preg_match_all( "/<a href=\"(.*?)(mp3|rm|ram)\">(.*?)<\/a>/", $html, $matches ) )
Avatar billede alaflam Nybegynder
24. februar 2005 - 18:43 #2
hvorfor kommer du med spørgesmål tegn ?
(.*?)

og hvergang man kommer med / skal man tilføje \ så den ikke misforstået det ?
Avatar billede alaflam Nybegynder
24. februar 2005 - 18:44 #3
det virker også på den måde..

if ( preg_match_all( "/<a href=(.*)(ram|mp3|rm)\">(.*)<\/a>/", $html, $matches ) )
Avatar billede coderdk Praktikant
24. februar 2005 - 18:46 #4
Du afgrænser et regulært udtryk med et bestemt bogstav, i dette tilfælde / - optræder dette bogstav i udtrykket skal man escape det. ? gør at udtrykket ikke bliver grådigt - Det kan også gøres ved at fjerne ? og tilføje U til switches (det efter det sidste afgrænsningsbogstav).
Avatar billede coderdk Praktikant
24. februar 2005 - 18:48 #5
Nej ikke rigtigt. Antag at du har:

<a href="http://site.dk/">hej med dig</a> <a href="test.ram">musik</a>

Der vil dit udtryk finde:


  http://site.dk/">hej med dig</a> <a href="test
  ram
  musik

Hvorimod hvis du havde brugt ? eller /U:

  test
  ram
  musik
Avatar billede alaflam Nybegynder
24. februar 2005 - 18:48 #6
er det så kun hastigheden der er forskel hvis man tilføjer (?) eller der er ikke stort forskel ?
Avatar billede coderdk Praktikant
24. februar 2005 - 18:51 #7
? eller /U sætter "greediness" - Det er lettest hvis du læser lidt om det :)
Avatar billede coderdk Praktikant
24. februar 2005 - 18:51 #8
Mit eksempel illustrerer det udemærket, synes jeg :)
Avatar billede alaflam Nybegynder
24. februar 2005 - 18:55 #9
jeg siger tak forhjælpen...jeg har læst lidt ... men ikke lige om ? og /u hehe
Avatar billede coderdk Praktikant
24. februar 2005 - 19:00 #10
Ok :) Held og lykke - Regular expressions er guld værd :D
Avatar billede alaflam Nybegynder
24. februar 2005 - 19:01 #11
coderdk, det er jeg enig med dig om, og det er anden gang du fortæller mig hehe...også i forrige spørgesmål...
Avatar billede coderdk Praktikant
24. februar 2005 - 19:04 #12
lol hehe ok, kan ikke lige huske det, men jeg har det med at være begejstret for RE ;)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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