繁体   English   中英

PHP正则表达式多行字符串的一部分

[英]PHP regex multiline one part of string

我想在正则表达式中包含一个多行

<?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

希望您能在正则表达式方面为我提供帮助。

坦克。

-韦斯利

正则表达式不是用于此的工具。 对于基本的Regex来说,HTML标记结构太复杂了,您应该尝试使用一些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>';

查看我的示例以了解您的具体情况并阅读文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM