如何使用PHP正则表达式查找内容

时间:2011-04-29 07:09:53

标签: php html-parsing

我想在DIV中找到内容。我只想指定DIV的id;其余部分会在preg_match下自动调整。 E.g:

<div id="midbuttonarea" etc...>some text...</div>

2 个答案:

答案 0 :(得分:1)

使用HTML解析器解析HTML而非Regex更有可能获得良好的结果。使用Regex解析HTML非常困难,结果可能不太可靠。

检查此问题的已接受答案:How do you parse and process HTML/XML in PHP?以获取有关如何进行此操作的一些建议。

答案 1 :(得分:1)

布伦顿是对的。无论如何,你在这里:

<?php
   function findDivInnerHtml($html, $id){
      preg_match("/<div .* id=\"{$id}\" .*>(.*)<\\/div>/i", $html, $matches);
      return $matches[1];
   }
?>

样本用法:

<?php
   $html = '<div id="other"> xxx </div>  <div id="midbuttonarea" etc...>some text...</div> ';
   $innerHTML = findDivInnerHtml($html, 'midbuttonarea');       
   echo $innerHTML; //outputs "some text..."
?>

希望这有帮助。