Marchu
Marchu

Reputation: 51

preg_match PHP various cases

I want to make preg match stop when it reaches "Ho" or "<". How can i do that?

I tried using [Ho<] but it doesn't work beacause it does "H" or "o" or "<".

Thanks.

Example:

if(preg_match('/class="PuntoVentaDireccion">(.*?)[Ho<].*?Ventas\((.*?)\)</is', $info_tienda, $data)){
        echo $data[1];
        echo $data[2];
    }

Upvotes: 1

Views: 56

Answers (1)

Andreas Louv
Andreas Louv

Reputation: 47099

As far as I can understand you want to use a non capturing group (?:...) and alternation a|b:

if (preg_match('/class="PuntoVentaDireccion">(.*?)(?:Ho|<).*?Ventas\((.*?)\)</is', $info_tienda, $data)) {
    echo $data[1];
    echo $data[2];
}

Upvotes: 3

Related Questions