PHP / Regex - 带字母(a,b,c)的顺序str_replace

时间:2015-02-05 02:16:33

标签: php jquery regex

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

<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>

然后我想使用PHP,jQuery,正则表达式或其他任何东西填写缺少的id,类和glyphicons。

我有一个jQuery脚本 - 请参阅Using regex + str_replace to prep tags for jQuery - 这项工作非常出色,但有一些并发症。我仍然在努力,但我认为它可能更好1)使用正则表达式和/或str_replace完成整个事情,或2)继续使用jQuery脚本,但使用某种正则表达式和/或str_replace创建“二级ID”。

一些细节......

在用户通过单击标题来切换打开或关闭的部分之前,每个部分都必须具有与以下div的ID匹配的数据目标值,如下所示...

<section id="aids" data-toggle="collapse" data-target="#myvalue" class="SecCon">
<h2>Header</h2>
<div id="myvalue">

我遇到了包含多个单词的标题的多个问题。我可以修改jQuery脚本,以便标题“第二次世界大战的历史”创建ID-世界历史战争ii和次要ID世界历史战争ii2,但那些有点复杂。我还发现了一些额外的并发症。我更喜欢我的原始方案 - 手动创建部分ID(在这种情况下为“历史记录”)。

所以这是我的问题:

你知道如何编写一个可以替换jQuery脚本的正则表达式吗?如果没有,有没有办法使用PHP和/或正则表达式简单地给每个数据目标和div ID 1)一个匹配的值,2)一个连续的字母值(例如a,b,c)? / p>

换句话说,显示屏现在看起来像这样:

<section id="ecology" data-toggle="collapse" data-target="#a" class="SecCon">
  <h2>Ecology</h2>
  <div id="a">
    <p>Some text</p>
  </div>
<section>

<section id="principles" data-toggle="collapse" data-target="#b" class="SecCon">
  <h2>Principles of Ecology</h2>
  <div id="b">
    <p>Some text</p>
  </div>
<section>

然后我可以继续一起使用jQuery脚本和PHP / regex修饰符。

(抱歉这个令人费解的问题;我不知道如何更简单地解释它。)

0 个答案:

没有答案