这段代码有错么???麻烦正解

 <?php
//在本文件的位置新建一个文件夹来储存文件。文件的编码格式一定要转换,还有获取的时间。
header("content-type:text/html;charset='utf-8'");
$str = "<table>
<tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr>
</table>";
$reg='#<table><tr>.*</tr><table>#isU';
preg_match_all($reg,$str,$arr);
var_dump($arr);

table最后是闭合标签,少了/,你字符串内换行是算2个字符的(记事本编辑器换行是2个字符\r\n)或者一个字符串(其他编辑器有可能只是\n),

 header("content-type:text/html;charset='utf-8'");
$str = "<table>
<tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr>
</table>";
echo strlen($str);
$reg='#<table>\s+<tr>.*</tr>\s+</table>#isU';
preg_match_all($reg,$str,$arr);
var_dump($arr);

或者去掉字符串中的回车


header("content-type:text/html;charset='utf-8'");
$str = "<table><tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr><tr><td>123</td><td>123</td></tr></table>";
echo strlen($str);
$reg='#<table><tr>.*</tr></table>#isU';/////////
preg_match_all($reg,$str,$arr);
var_dump($arr);