我有一個函數可以通過掃描博客條目,新聞和某些核心關鍵字的其他項目來幫助鏈接我網站中的頁面。然後它將這些關鍵字替換爲相應頁面的鏈接。正則表達式替換不在HTML標籤內的內容
我遇到了一些問題,有些詞不應該被鏈接替換。例如,我在我的一些HTML表格中有一個摘要標記,其中包含表格內容的小概要。因此,例如,我可能有一個標籤,看起來像這樣:
<table width="500" cellspacing="0" cellpadding="4" border="0" summary="This table contains a list of all car parts in inventory along with their corresponding prices">
...
</table>
我的功能錯誤地將替換關鍵字或短語,如「汽車零部件」的鏈接。我如何構建我的替換正則表達式而不是在像這樣的情況下替換它,但是如果它出現在段落中,或者甚至在HTML表格的單元格中出現,請替換它。
在此先感謝您的幫助和指導!
編輯:只是爲了澄清,我使用PHP來呈現我的網頁。在內容以HTML格式輸出到頁面之前,我正在使用str_replace()。我希望能夠用ereg_replace()替換它,以便只有在滿足特定條件(如上所述)時才替換內容。對不起,如果這造成混亂!
什麼是您當前的正則表達式模式? – 2011-05-12 13:48:27
似乎人們普遍認爲,你不應該使用正則表達式與可複雜的HTML規則結合使用。您是否考慮過使用XML解析器來確定要運行替換的部分? – 2011-05-12 13:49:59
對不起,我應該澄清,我會添加一條EDIT語句。我使用PHP來呈現頁面輸出。我會在PHp ereg_replace()中使用正則表達式,而不是使用str_replace()。 – Dexter 2011-05-12 14:08:27