$pattern_table = "|<table.*>(.*)</table>|isU";
preg_match_all($pattern_table,$url_txt,$match);php里表示或的符号是"|",可是preg_match_all函数正则表达式开头和结尾用的也是"|",这里怎么表示或呢

解决方案 »

  1.   

    开头结尾:
    $reg = '/^.*&/';//两个斜杠
    $reg = "#^.*$#";//也可以或还是用|
      

  2.   

    $reg = '/^.*$/';//两个斜杠
    $reg = "#^.*$#";//也可以
      

  3.   

    改成  $pattern_table = "/^<table.*>(.*)</table>$/isU";
    结果提示Warning: preg_match_all() [function.preg-match-all]: Unknown modifier 't' in 
      

  4.   

    “/”需要用“\”来转移,如:<\/table>,当然了你也可用第二种“#”的方法
      

  5.   

    我不是想表示"|"这个字符,而是想表示"或"
    而且我正则表达式的开头结尾用"|"是对的,换"/"就出错了Warning: preg_match_all() [function.preg-match-all]: Unknown modifier 't' in
      

  6.   


    $url_txt = 'aaaa';
    $pattern_table = "/<table.*>(.*)<\/table>/isU";
    preg_match_all($pattern_table,$url_txt,$match);
      

  7.   

    哦 原来是缺少转义了
    $pattern_table = "#<table.*>(.*)</table>#isU";
    这样对了
      

  8.   

    $pattern_table = "/<table.*>(.*)<\/table>/isU";如果你用了“/”当边界符那么你</table>中的“/”就变成了边界符了,并把</table>中的“/t”理解成了类似“/isU”中的isU之类的含义了,所以你需要用“\”转义,或者将边界符变成其他的符号,如##等等