我想查找DIV中的内容。我只想指定DIV的ID;其余部分根据preg_match
自动调整。 例如: -如何使用PHP正则表达式查找内容
<div id="midbuttonarea" etc...>some text...</div>
我想查找DIV中的内容。我只想指定DIV的ID;其余部分根据preg_match
自动调整。 例如: -如何使用PHP正则表达式查找内容
<div id="midbuttonarea" etc...>some text...</div>
你更可能使用HTML解析器来解析HTML,而不是正则表达式来得到一个好的结果。用正则表达式解析HTML是非常困难的,结果可能不是很可靠。
查看此问题的接受答案:How do you parse and process HTML/XML in PHP?了解如何解决此问题的一些建议。
它可以在php的正则表达式中使用。 – rajan 2011-04-29 07:27:56
布伦顿是对的。总之,在这里你必须:
<?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..."
?>
希望这有助于。
忘了告诉你'$ html'不必有换行符。你可以很容易地用'str_replace'将它们删除第一个 – 2011-04-29 07:33:59
感谢您的帮助,它的工作正常...感谢很多 – rajan 2011-04-29 07:57:28
太棒了!请将我的答案标记为最佳解决方案 – 2011-04-29 07:59:54
有什么东西可以阻止你使用phps DOM类吗?这会让事情变得更容易。 – Yoshi 2011-04-29 07:17:54