代码之家  ›  专栏  ›  技术社区  ›  yoda

使用php-pcre获取DIV内容

  •  0
  • yoda  · 技术社区  · 15 年前


    我尝试使用PHP的PCRE从一个DIV(基于他的ID)中获取数据。目标是根据DIV的ID获取其内容,并使用递归性/深度获取其中的所有内容。这里的主要问题是在“主DIV”中得到其他DIV,因为一旦得到下一个,regex就会停止。 </div> 它在首字母后找到 <div id="test"> .

    我试过很多不同的方法来解决这个问题,但都没有奏效。在我看来,最好的解决办法是 R 参数(递归),但从未使其正常工作。

    有什么想法吗?

    事先谢谢:d

    1 回复  |  直到 15 年前
        1
  •  1
  •   Amber    15 年前

    您最好使用某种形式的DOM解析器-regex确实不适合这个问题。如果您只需要基本的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;