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

如何使用PHP正则表达式查找内容,php,html-parsing,Php,Html Parsing,我想在一个DIV中查找内容。我只想指定DIV的id;其余部分在preg\u match下自动调整。 例如: 一些文本。。。 使用HTML解析器而不是正则表达式来解析HTML,更有可能获得良好的结果。用正则表达式解析HTML非常困难,结果可能不太可靠 检查这个问题的公认答案:关于如何进行的一些建议。布伦顿是对的。无论如何,这里有: <?php function findDivInnerHtml($html, $id){ preg_match("/<div .* id=

我想在一个DIV中查找内容。我只想指定DIV的id;其余部分在
preg\u match
下自动调整。 例如:

一些文本。。。

使用HTML解析器而不是正则表达式来解析HTML,更有可能获得良好的结果。用正则表达式解析HTML非常困难,结果可能不太可靠


检查这个问题的公认答案:关于如何进行的一些建议。

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

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


希望这有帮助。

是否有什么东西阻止您使用phps DOM类?在php正则表达式中,这是可能的。忘记告诉您,
$html
不必有换行符。您可以先用
str\u replace
轻松删除它们
<?php
   $html = '<div id="other"> xxx </div>  <div id="midbuttonarea" etc...>some text...</div> ';
   $innerHTML = findDivInnerHtml($html, 'midbuttonarea');       
   echo $innerHTML; //outputs "some text..."
?>