I am using regular expressions in php to match postcodes found in a string.
The results are being returned as an array, I was wondering if there is any way to assign variables to each of the results, something like
$postcode1 = first match found
$postcode2 = second match found
here is my code
$html = "some text here bt123ab and another postcode bt112cd";
preg_match_all("/([a-zA-Z]{2})([0-9]{2,3})([a-zA-Z]{2})/", $html, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {
echo $val[0]; }
I am very new to regular expressions and php, forgive me if this is a stupid question.
Thanks in advance
Update: In order to make this example work, you have to use
PREG_PATTERN_ORDERinstead ofPREG_SET_ORDER(I thought you used it in your code, but obviously I read too fast ;)):If you really want to, you can assign them to variables:
But it is easier to just access the array elements imo.
Or something more fancy:
But I would just do:
and then access the postcodes via normal array access.