2011-05-09 133 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