我試圖破解我正在開發的Wordpress模板中的一些側邊欄代碼。基本上我已經在輸出緩衝區中捕獲了我需要的東西,並且運行了正則表達式來替換我需要的代碼。問題是我的正則表達式知識對於我需要實現的東西來說有點短暫。在不破壞身份信息的情況下使用preg_replace
我遇到的問題是這樣:
$output = preg_replace('/<\/li><li id=".*?" class="widget-container/', '<a href="top">Top</a></li><li><li id="[item from that find]" class="widget-container/', $input);
在作爲代碼代表我能找到我所需要的時刻,但它會破壞那些ID屬性,因爲我無法捕捉它們。
我確定有一種方法可以在替換時捕獲和使用它,但是我找不到任何能告訴我需要什麼或者我是否用preg_replace採取了錯誤的方法。
如何在不破壞這些唯一ID的情況下使用它來更改代碼?
乾杯傢伙!
不要使用正則表達式解析HTML:http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html – ircmaxell 2010-07-29 17:21:16
有趣的閱讀和有意義。在不久的將來可以使用像PHPQuery這樣的HTML解析器來替換我正在使用的骯髒的正則表達式方法。感謝您將文章引入我的注意! – Leonard 2010-07-29 23:42:38