使用PHP DOM修改数据库数据(包含在标记中)

使用PHP DOM修改数据库数据(包含在标记中),php,html,dom,Php,Html,Dom,我有许多文章,分为几个部分,存储在数据库中。每个节由一个节标签组成,后面是一个标题(h2)和一个主div。有些节还包含子标题(h3)。原始显示如下所示: <section id="ecology"> <h2 class="Article">Ecology</h2> <div class="Article"> <h3 class="Article">Animals</h3> 我想修改上面的代码,以便在标记之间

我有许多文章,分为几个部分,存储在数据库中。每个节由一个节标签组成,后面是一个标题(h2)和一个主div。有些节还包含子标题(h3)。原始显示如下所示:

<section id="ecology">
  <h2 class="Article">Ecology</h2>
  <div class="Article">
    <h3 class="Article">Animals</h3>
我想修改上面的代码,以便在标记之间放置某些“内部文本”示例

例如,考虑这些标题:

<h3 class="Article">Animals</h3>
<h3 class="Article">Plants</h3>

两个注意事项:1)我知道我可以用jQuery实现这一点(可能要简单得多),但我认为PHP可能更好,因为他们说有些用户可以禁用JavaScript。2) 我使用类“Article”主要是为了区分我希望由PHPDOM设置样式的元素。具有不同类或根本没有类的头不应受到DOM脚本的影响。

我要指出的一点是,您没有考虑在多个子级别上出现
的可能性。例如,如果您只想点击
section>div[class=Article]
,那么您当前正在修改
section div[class=Article]
。。。不确定这是否是一个问题,但您可能希望在开发时考虑到这一点。好的。也许我应该给每个元素一个唯一的类作为句柄。请记住,
class
属性可以是一个类列表,现在您正在测试的类与您要查找的类完全相同,与之相反,它可能是许多类中的一个:-),因此,在说了所有这些之后,您可能希望研究XPath,这将为您提供一种更具体的方法来过滤DOMNodes。还有一些库允许您使用CSS选择器(然后编译为xpath),如Zend_Dom_Query、SimpleHTMLDOM和symfony/Dom crawler。
<h3 class="Article">Animals</h3>
<h3 class="Article">Plants</h3>
<h3 class="Article"><span class="label label-default">Animals</span></h3>
<h3 class="Article"><span class="label label-default">Plants</span></h3>
$text = $data->textContent;
elementNode.textContent=string