我想在正则表达式中包含一个多行
<?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>';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句