1 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先我們定義匹配正則表達(dá)式(PCRE 兼容):
~<blockquote>\s*(.+?)<p?class="entry-title">(.+?)<\/blockquote>~s
請(qǐng)參閱RegExr現(xiàn)場(chǎng)直播;點(diǎn)擊“解釋”即可理解該表達(dá)式。然后我們的替代品:
\1<p>\2
然后,這是一個(gè)添加了周圍內(nèi)容的測(cè)試塊:
<blockquote>
<h3>Te sugerimos</h3>
<p class="entry-title"><a target="_blank" rel="noopener noreferrer" style="outline: none;"><strong>POST TITLE</strong></a></p>
</blockquote>
<p>Other stuff</p>
<blockquote>Not matched</blockquote>
當(dāng)應(yīng)用上面的正則表達(dá)式時(shí),例如在 中preg_replace($pattern, $replace, $content),上面的塊將轉(zhuǎn)換為:
<h3>Te sugerimos</h3>
<p><a target="_blank" rel="noopener noreferrer" style="outline: none;"><strong>POST TITLE</strong></a></p>
<p>Other stuff</p>
<blockquote>Not matched</blockquote>
我認(rèn)為這是您想要的輸出。
現(xiàn)在,如何將其應(yīng)用到您的所有內(nèi)容?您有三個(gè)基本選擇:
使用 MySQL 的REGEXP_REPLACE函數(shù)——無論是在終端、PHPMyAdmin 中還是從 PHP 腳本中。
在 PHP 中處理清理:對(duì)具有此模式的所有帖子運(yùn)行選擇查詢;然后用
preg_replace
;修改內(nèi)容?最后更新數(shù)據(jù)庫(kù)條目。下載數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ),在您最喜歡的文本編輯器(支持正則表達(dá)式)中打開它,或?qū)⑵渫ㄟ^管道傳輸?shù)侥x擇的工具中,并進(jìn)行必要的替換;最后重新加載到您的數(shù)據(jù)庫(kù)中。(發(fā)生這種情況時(shí),您可能希望將站點(diǎn)置于維護(hù)模式!)
無論您選擇哪種方式執(zhí)行此操作,請(qǐng)務(wù)必先備份數(shù)據(jù)。
- 1 回答
- 0 關(guān)注
- 183 瀏覽
添加回答
舉報(bào)