[PHP REGEXP] Probleem bij subselectie in REGEXP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 30-05 12:05

Dope-E

The one and only Dope

Topicstarter
Ik heb bijvoorbeeld de volgende tekst in een grote string staan:
code:
1
?w=193&h=70&text=Afbeelding 1"


Ik wil dus 193, 70 en Afbeelding 1 hier uit zien te halen.
Nu heb ik als REGEXP dit verzonnen:
code:
1
$pattern = "|?w=(.*)&h=(.*)&text=(.*)\"|U";


Volgens mij moet dit matchen, maar doet t dus niet. Wat zit r fout? Komt t door &?

[ Voor 7% gewijzigd door Dope-E op 30-07-2003 10:54 ]

twitter.com/curly_sanders


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom niet iets flexibelers ? Iets als:

Edit: Er staan twee & tekens, eentje is een
code:
1
 &


PHP:
1
preg_match_all('/(\?|&|&).+=(.*?)(&|&)*/U', $str, PREG_SET_ORDER);


Ik heb niet de mogelijkheden om nu te testen maar zoiets ziet er toch aardig goed uit

Edit: mooi zo :) Kmoet duidelijk geen regex in elkaar zetten als ik um niet testen kan :P Het is trouwens niet erg netjes om | als delimeter te gebruiken, aangezien dit een character is dat gebruikt wordt in PCRE Regex's

[ Voor 57% gewijzigd door Verwijderd op 30-07-2003 11:45 ]


Acties:
  • 0 Henk 'm!

  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 30-05 12:05

Dope-E

The one and only Dope

Topicstarter
Dat matcht iets te veel en geeft ook niet precies 193, 70 en Afbeelding 1 terug, maar ?, 193&h=70&text=Afbeelding 1" en niks!

twitter.com/curly_sanders


Acties:
  • 0 Henk 'm!

  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 30-05 12:05

Dope-E

The one and only Dope

Topicstarter
Ik heb t toch opgelost:

PHP:
1
$pattern = "|\?w=(.*)\D+h=(.*)\D+text=(.*)\"|U";

twitter.com/curly_sanders