如何使用php访问php页面上的DOM元素?

如何使用php访问php页面上的DOM元素?,php,dom,Php,Dom,我想在header.php文件中运行此代码 <?php $doc = new DOMDocument(); $doc->load('wp-content/themes/foo/header.php'); $header_li_elements = $doc->getElementsByTagName('li'); foreach($header_li_elements as $value){ echo $value->nodeValue; } ?> 这可能吗

我想在header.php文件中运行此代码

<?php 
$doc = new DOMDocument();
$doc->load('wp-content/themes/foo/header.php');
$header_li_elements = $doc->getElementsByTagName('li');
foreach($header_li_elements as $value){
echo $value->nodeValue;
}
?>

这可能吗

我希望能够运行一个php函数来检查我当前所在的页面,然后更改特定nav元素的id属性,以便可以动态更改我所在页面的nav元素的外观

目前,我正在尝试访问我所在页面上的“li”元素,然后回显它们,我可以从那里开始工作。有什么想法吗


如果让人困惑的话,很抱歉。我很难描述我的想法。

由于该页面是动态的(例如,HTML由PHP生成),这将不起作用,因为您希望解析的HTML还不存在。直到运行时才创建它。您必须找到另一种方法来执行此操作,例如检查当前URL是什么,并使用它来确定导航栏的外观。

由于该页面是动态的(例如,HTML由PHP生成),这将不起作用,因为您希望解析的HTML还不存在。直到运行时才创建它。您必须找到另一种方法来执行此操作,例如检查当前URL是什么,并使用它来确定导航栏的外观。

要做到这一点,您的php必须像解析XML一样解析HTML。这并非不可能,但这是一项更适合单行jQuery的工作

如果出于任何原因坚持在服务器端执行此操作,那么最好在生成列表项时捕获列表项,而不是等到它们作为一个大字符串返回,然后尝试将它们全部转换回标记,这样您就可以操纵它们,只需再次将它们转换回一个大字符串


看起来像Wordpress,我很确定Wordpress有API可以帮助您完成这项工作,但我们需要确切地了解header.php中的情况。

要做到这一点,您的php必须像解析XML一样解析HTML。这并非不可能,但这是一项更适合单行jQuery的工作

如果出于任何原因坚持在服务器端执行此操作,那么最好在生成列表项时捕获列表项,而不是等到它们作为一个大字符串返回,然后尝试将它们全部转换回标记,这样您就可以操纵它们,只需再次将它们转换回一个大字符串


看起来像Wordpress,我很确定Wordpress有API可以帮助您实现这一点,但我们需要确切地了解header.php中的情况。

谢谢,关于这个过程的具体方法有什么想法吗?谢谢,关于这个过程的具体方法有什么想法吗?