2009-09-03 62 views
0


我想从一个div(基于他的ID),使用PHP的PCRE获取数据。目标是根据他的id获取div的内容,并使用递归/深度来获取div中的所有内容。这里的主要问题是让其他div在“主div”内,因为正则表达式在获得下一个</div>后会停止,它会在最初的<div id="test">之后找到。

我已经尝试了很多不同的方法到主题,并没有工作。在我看来,最好的解决方案是使用R参数(递归),但从来没有让它正常工作。

任何Ideais?

在此先感谢:D使用PHP PCRE获取div内容

回答

1

你会更好使用某种形式的DOM解析器 - 正则表达式真的不适合这个问题。如果你想要的只是基本的HTML DOM解析,像simplehtmldom这样的东西就是你的胡同。安装很简单(只包括一个PHP文件),而且使用起来很简单(2-3行将完成你所需要的)。

include('simple-html-dom.php'); 

$dom = str_get_html($bunchofhtmlcode); 
$testdiv = $dom->find('div#test',0); // 0 for the first occurrence 
$testdiv_contents = $testdiv->innertext;