用PHP DOM HTML Parser替换多个值(新手)

时间:2015-02-06 00:29:03

标签: php jquery regex dom

考虑存储在数据库中的以下代码:

<section id="aids" data-toggle="collapse" data-target="#aids2" class="SecCon">
  <h2><span class="label label-primary"><small><span class="only-collapsed glyphicon glyphicon-chevron-down"></span><span class="only-expanded glyphicon glyphicon-remove-sign"></span></small> Aids</span></h2>
  <div id="aids2" class="collapse in article">
    <p>Some text.</p>
  </div>
</section>

我想将其更改为这种更简单的格式:

<section id="directions">
  <h2>Directions</h2>
  <div><p>Some text.</p></div>
</section>

<section id="ecology">
  <h2>Ecology</h2>
  <div><p>Some text.</p></div>
</section>

这是我真正关注的代码。我要为每个部分手动插入一个唯一的ID,当然每个标题也都有一个唯一的标题。

<section id="SomeValue">
  <h2>Another Value</h2>
  <div>

在用户可以使用jQuery切换元素打开或关闭之前,data-target和div id必须具有匹配的值。我在修改标题或部分ID时发现了几个问题,以形成这些&#34;二级ID&#34; s。所以我认为如果它们只是由小写连续字母组成(a,b,c等)会更好......

<section data-target="#a">
  <h2></h2>
  <div id="a">

<section data-target="#b">
  <h2></h2>
  <div id="b">

我试图弄清楚如何使用正则表达式执行此操作,但建议HTML DOM Parser更好。所以我从http://simplehtmldom.sourceforge.net/下载了文件并开始玩它。

我可以做一些非常简单的练习,但我还没有想出如何做这个项目。充其量,我一次只能改变一个元素。

我有一个数据库查询,它从我的数据库中提取文章为$ Content。如果我想替换&#34;斑马&#34;用&#34; aardvark,&#34;我这样做:

$Content = str_replace('zebra', 'aardvark', $Content);
echo $Content;

如何插入此HTML解析器,以便将所有类,连续div和glyphicons添加到混合中?

1 个答案:

答案 0 :(得分:0)

phpQuery非常擅长这种操纵