【问题标题】:PHP regex multiline one part of stringPHP正则表达式多行字符串的一部分
【发布时间】:2013-12-13 23:24:43
【问题描述】:

我想在正则表达式中有一个部分多行

<?php
 function bloggerLoop ( $matches ) { print_r ( $matches ) ; }

 $theme = preg_replace_callback(
         "#<b:loop values='data:(.*)' var='(.*)'>(.*?)</b:loop>#i",
         "bloggerLoop", 
         $theme 
         );
?>

这就是我所拥有的,但b:loop 在模板中不止一次出现,而且这个正则表达式跳过所有循环并创建一个“大”循环,但我只需要一个“部分”。

需要的是:

<b:loop values='data:x' var='x'>MULTILINE</b:loop>

需要解析的文件是:http://pastebin.com/a3g3G1uE

我希望你能帮助我处理正则表达式。

坦克。

-韦斯利

【问题讨论】:

    标签: php regex dom multiline


    【解决方案1】:

    Regex 不是用于此目的的工具。 HTML标签结构太复杂,对于基本的Regex,你应该尝试一些HTML DOM库,比如PHP Simple HTML DOM Parser,来做HTML DOM工作。

    $html = file_get_html('http://pastebin.com/raw.php?i=a3g3G1uE');
    foreach($html->find('b:loop') as $element)
           echo $element->values. '<br>';
    

    查看我的example 了解您的具体情况并阅读documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 2021-09-27
      • 2012-11-25
      • 1970-01-01
      相关资源
      最近更新 更多