2011-05-09 140 views
0

我想用preg_replace替换一些html在PHP中,我似乎并没有得到正则表达式罚款,因为我总是把它搞砸了。PHP Preg_replace需要帮助

请帮我一下吗?

我有以下几点:

<ol><li>text</li><li>text</li></ol> 

<ol><li><ul><li>text</li></ul></li></ol> 

而且我想<li>之后插入<span></span>,把文本中<p>。我必须注意到,我不希望<ul>内的<li>受到影响。

谢谢!

+5

不要使用正则表达式解析HTML。 – hsz 2011-05-09 13:20:53

+0

你能举一个你最终想要的html的例子吗? – 2011-05-09 13:24:01

+0

谢谢,尽管我设法用jQuery来完成它,幸运的是:) – Alex 2011-05-09 13:56:44

回答

1

而不是试图写一个正则表达式来处理这个(我认为有可能与向后看型比赛做)这将会是最简单的方法:

  • 找到通过的结果,确保它不是裹在<ul>
每个 <li><ol>preg_match_all()
  • 迭代
  • +0

    谢谢,但最后我设法用jQuery来做到这一点,我很高兴我不需要为此使用另一个库。 – Alex 2011-05-09 13:55:36

    1
    +1

    谢谢,但最后我设法用jQuery来做到这一点。我很高兴我不需要为此使用另一个库。 – Alex 2011-05-09 13:55:45

    +0

    我不认为你可以使用客户端选项。我以为你想要一些服务器端.. – 2011-05-10 08:45:05

    +0

    我想要更好的工作。我很抱歉没有具体说明:( – Alex 2011-05-10 10:34:26

    1

    为此使用正则表达式是错误的处方。

    解析html以便能够将其作为对象进行操作。有很多库可以这样做:DOM扩展,SimpleXML,phpquery等,然后根据需要操作它。

    +0

    谢谢,但最后我设法用jQuery来做,我很高兴我不需要为此使用另一个库。 – Alex 2011-05-09 13:55:17