Search code examples
phpsubstr

PHP substr - extract numbers from string


I need to extract the highlighted numbers from each line in a CSV file.

Currently I am looping though the lines & splitting the line on the / character as this only appears once in each row, but how do I remove everything around these numbers so I am left with:

9/10

10/11

11/12

...

enter image description here


Solution

  • If you want to only get the numbers, you could do a preg_match

    $re = '/(\d+\/\d+)/s';
    $str = 'dfsadsfadsfads~~9/10~~lfkjdskfds';
    
    preg_match($re, $str, $matches);
    

    but if you are able to get the entire doc as a single string, you could do a preg_match_all

    $re = '/(\d+\/\d+)/s';
    $str = 'dfsadsfadsfads~~9/10~~lfkjdskfds\ndfsadsfadsfads~~9/10~~lfkjdskfds\n';
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
    

    then loop on the $matches