Search code examples
phpregexpreg-match

PHP preg_match find field value


This is my example code:

$string = "teste aa=11 teste teste";
$var = "aa|bb|cc";
if (preg_match('/^'.$var.'/', $string,$matches)){
        echo "field [$matches[0]], value [$matches[1]]";

Output:

field [aa],value []

I'm trying to output like:

field [aa],value[11]

I tried several different regexes unsuccessfully. How can I get the value of aa with regex?

I'm trying to search multiple strings within a string and pick up their value to be able to change it later.


Solution

  • $string = "teste aa=11 teste teste";
    $var = "aa|bb|cc";
    preg_match('/^.*('.$var.')=(.*?)\s.*/', $string, $matches);
    print_r($matches);
    

    Outputs:

    Array
    (
        [0] => teste aa=11 teste teste
        [1] => aa
        [2] => 11
    )