luyaran 2017-04-14 03:43 采纳率: 5.9%
浏览 741

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

 <?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);
  • 写回答

1条回答 默认 最新

  • 斯洛文尼亚旅游 2017-04-14 12:36
    关注

    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);
    
    评论

报告相同问题?