PHP preg_match_all 匹配多行

$text = <<<TEXT
*************************** 1. row ***************************
         id: 1
    tracker: 002  
   installs: 1
*************************** 2. row ***************************
         id: 2
    tracker: 002
   installs: 1
*************************** 3. row ***************************
         id: 3
    tracker: 003
   installs: 1
3 rows in set (0.00 sec)


TEXT;

    preg_match_all("#(\*{3,}\s*\d+\s*\.\s*row\s*\*{3,}[\r\s]+(.+)){1,}#i",$text,$match);
    print_r($match);

正则写了但依旧是无法匹配多行。

阅读 2.5k
1 个回答

匹配多行没有问题啊

Array
(
    [0] => Array
        (
            [0] => *************************** 1. row ***************************
         id: 1
            [1] => *************************** 2. row ***************************
         id: 2
            [2] => *************************** 3. row ***************************
         id: 3
        )

    [1] => Array
        (
            [0] => *************************** 1. row ***************************
         id: 1
            [1] => *************************** 2. row ***************************
         id: 2
            [2] => *************************** 3. row ***************************
         id: 3
        )

    [2] => Array
        (
            [0] => id: 1
            [1] => id: 2
            [2] => id: 3
        )

)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏