Matching several items inside one string with preg_match_all() and end characters

Posted by nefo_x on Stack Overflow See other posts from Stack Overflow or by nefo_x
Published on 2010-04-04T16:50:27Z Indexed on 2010/04/04 16:53 UTC
Read the original article Hit count: 317

Filed under:
|
|

I have the following code:

preg_match_all('/(.*) \((\d+)\) - ([\d\.\d]+)[,?]/U',
    "E-Book What I Didn't Learn At School... (2) - 3525.01, FREE Intro DVD/Vid (1) - 0.15",
    $match);
var_dump($string, $match);

and get the following ouput:

array(4) {
  [0]=>
  array(1) {
    [0]=>
    string(54) "E-Book What I Didn't Learn At School... (2) - 3525.01,"
  }
  [1]=>
  array(1) {
    [0]=>
    string(39) "E-Book What I Didn't Learn At School..."
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [3]=>
  array(1) {
    [0]=>
    string(7) "3525.01"
  }
}

which matches only one items... what i need is to get all items from such strings. when i've added "," sign to the end of the string - it worked fine. but that is non-sense in adding comma to each string. Any advice?

© Stack Overflow or respective owner

Related posts about php

Related posts about regex