Ik heb een string gevuld met text en o.a. internet-adressen(urls).

Nu staan er 3 verschillende urls (qua samenstelling) in dit document die ik apart eruit wil filteren. Ik krijg dit echter niet goed voor elkaar.

Ik ben erachter dat preg_match_all() de juiste php functie is om dit te doen, maar ik krijg alleen maar foutmeldingen die ik zelf niet snap.

De url heeft de volgende indeling:

www.mijndomein.nl/NieuwOnderwerp/MetEenKoppeling/default.php?id= $idvar.

voorbeeld $idvar = cc4ce818-9360-4d64-9a44-862a70af0eaf

Het verschil tussen de verschillende urls is de id. Ik weet niet van te voren het id, welke achter de url zit. Het id kan bestaan uit letters, cijfers, streepjes (-).

Wat heb ik zelf al gedaan.
Uiteraard google, en de forums doorgespit. Conclusie is dat mijn preg_* reeks kennis niet zo heel goed is, maar weet niet hoe ik het anders moet/kan doen. Ik heb zojuist The bible of PHP(heb ik hier liggen) doorgelezen betreffende dit onderwerp.

PHP Code:
preg_match_all("/^(?:www.mijndomein.nl\/NieuwOnderwerp\/MetEenKoppeling\/default.php?id=[^A-Za-Z0-9\-])/i"$resultaten_zoekpagina_string$matches); 
Wie kan mij iets verder op weg helpen.

EDIT als ik met for of foreach te code op het scherm wil zetten(echo / print) krijg ik de volgende melding:
Warning: preg_match_all() [function.preg-match-all]: Compilation failed: range out of order in character class at offset 69 in C:\xampp\htdocs\test\test.php on line 34

Regel 34 is de preg_match_al() regel.