【发布时间】:2012-11-13 13:16:31
【问题描述】:
不幸的是,我真的无法理解正则表达式,所以我最后的手段是向你们这些优秀的人寻求帮助。
我有这个现有的代码:
<li id="id-21" class="listClass" data-author="newbie">
<div class="someDiv">
<span class="spanClass">Some content</span>
</div>
<div class="controls faint">
<a href="link2">Link 2</a>
<a href="link3">Link 3</a>
</div>
</li>
由于多种原因,我不得不使用 preg_replace 注入一段额外的代码:
<a href="link1">Link 1</a>
我想你可以猜到应该去哪里,但为了清楚起见,我希望得到的字符串看起来像:
<li id="id-21" class="listClass" data-author="newbie">
<div class="someDiv">
<span class="spanClass">Some content</span>
</div>
<div class="controls faint">
<a href="link1">Link 1</a>
<a href="link2">Link 2</a>
<a href="link3">Link 3</a>
</div>
</li>
谁能帮助我使用适当的正则表达式来实现这一点?
【问题讨论】:
-
你最好更精确。你的意思是你只想在
<a href="link2">Link 2</a>前面插入<a href="link1">Link 1</a>??? -
不要使用正则表达式来解析/操作 HTML。获取合适的 HTML 解析器。
-
@Alvin Wong True,正则表达式无法解析任意 HTML。期间。
-
@luiges90 是的,这就是我想做的。
-
我正在处理 HTML 模板,这些模板稍后会在我使用的软件中编译和解析。不要太拘泥于 HTML 方面的事情。如果我的示例不是 HTML 并且只是一个任意字符串,我将如何使用正则表达式来实现这一点?
标签: php regex preg-replace