1、/is
  i 忽略大小写
  s 忽略空白符
2、\\1
  引用,以规则串中()出现的顺序编号
  本例中表示被([a-z0-9_]+)匹配到的串

解决方案 »

  1.   

    s 忽略回车换行符,所有字符当作single line处理
      

  2.   

    谢谢楼上两位。1. 可以/is这样写?mysql手册里没有这样的呀?最多有 -i -s 这样的。2. 还没有理解,代码中这里是建立数据表的
    ------------------------
    foreach($ret as $query) {
    $query = trim($query);
    if($query) {
    if(substr($query, 0, 12) == 'CREATE TABLE') {
    $name = preg_replace("/CREATE TABLE ([a-z0-9_]+) .*/is", "\\1", $query);
    echo '建立数据表 '.$name.' ... <font color="#0000EE">成功</font><br>';
    }
    $db->query($query);
    }
    -----------------------
    我还是不太清楚,编号是什么意思,mysql手册上的英文解释我也不是很清楚,好象是说可以从0--99,感觉是拿前面匹配的到的表名做一定处理,是什么处理呢?我也再看一下,谢谢!
      

  3.   

    就是从SQL语句中提取出表名
    将Create table 部分去掉了