您可以使用Symfony 2 Dom Crawler等一些软件包在PHP中解析HTML内容。
如果您只想在脚本中多次使用一个值,我认为您应该考虑将此值保存在变量中并使用它而不是将整个HTML元素存储在静态文件中并使用任何解析器。
为您使用Dom Crawler库的示例:
use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\CssSelector\CssSelector;
CssSelector::disableHtmlExtension();
function getInnerHtml( $node ) {
$innerHTML= '';
$children = $node->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveHtml( $child );
}
return $innerHTML;
}
$html = <<
foo
HTML;
$crawler = new Crawler($html);
$crawler = $crawler->filter('#xnavact');
foreach ($crawler as $domElement) {
print getInnerHtml($domElement); //result: bar
}