I had this regular expression:
preg_match("|[\|()<>%*+=]|(=)+(!)|[-]{2}|", $status, $array);
that generates this warning
Warning: preg_match(): Unknown modifier '(' in...
I know that is a problem of \ but I don't know where to put them.
I had this regular expression:
preg_match("|[\|()<>%*+=]|(=)+(!)|[-]{2}|", $status, $array);
that generates this warning
Warning: preg_match(): Unknown modifier '(' in...
I know that is a problem of \ but I don't know where to put them.
 
    
    The problem is that you are using | as the delimiter for the pattern, so the second | ends the pattern and the ( is interpreted as a modifier. Do one of these, depending on if you need the | at the beginning and end:
preg_match("/|[\|()<>%*+=]|(=)+(!)|[-]{2}|/", $status, $array);
preg_match("/[\|()<>%*+=]|(=)+(!)|[-]{2}/", $status, $array);
 
    
    The is some problems... Let see:
Yours:
  "|[\|()<>%*+=]|(=)+(!)|[-]{2}|"
   ^ first problem not needed as is an OR and there is nothing before it
       ^ you have to scape the parentesis all of it
            ^ you have to scape the asterisk
                               ^unecessary there is nothing after
So the result would be:
  "/[\|\(\)<>%\*+=]|(=)+(!)|[-]{2}/"
