I am trying to extract numbers from a mix string.
<?php
$string = "c <a data-player-id=\"5528\" href=\"/players/5528-ga-name--5406546\" target=\"_self\">GA Name</a> b <a data-player-id=\"8992842\" href=\"/players/8992842-chandran-win--123345\" target=\"_self\">C Win</a>";
//preg_match_all('!\d+!', $string, $matches);
//preg_match_all('/data-player-id=\"(\d+)/', $string, $matches);
preg_match_all('/\/players\/(\d+)/', $string, $matches);
print_r($matches);
?>
But it results into 2 arrays:
Array
(
[0] => Array
(
[0] => /players/5528
[1] => /players/8992842
)
[1] => Array
(
[0] => 5528
[1] => 8992842
)
)
I want to capture numbers like 5528
and 8992842
. The code below did not work.
/*
$zero = $matches[0];
$one = $matches[1];
$two = $matches[2];
echo $zero;
echo $one;
echo $two;
*/
Edit :
Any idea why it returns into 2 arrays ?
Is it possible to count the items in array[1]
?
You can use
foreach
loop print all found value in$matches[1]
Try
output
UPDATE 1
Yes, you can count the elements found in
$matches[1]
by usingcount()