亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 REGEX 大量刪除 WordPress 帖子中應用的舊樣式?

如何使用 REGEX 大量刪除 WordPress 帖子中應用的舊樣式?

PHP
臨摹微笑 2024-01-19 15:38:15
再會!我有一個大型雜志網站,剛剛從 Divi 遷移到 X Pro。每個帖子內都有對另一個帖子的建議??偣灿谐^ 10,000 個帖子,所以這不是編輯者可以在每個帖子中手動修復的問題。該元素已添加到帖子內容中。<blockquote><h3>Te sugerimos</h3><p class="entry-title"><a href="https://example.com/post-title/" target="_blank" rel="noopener noreferrer" style="outline: none;"><strong>POST TITLE</strong></a></p></blockquote>它應該只是一個h3標簽,然后是一個p沒有該類的標簽entry-title,當然,也沒有該blockquote標簽。該代碼只是帖子的一部分?;氐脚f的 Divi 網站,編輯通常使用本機 WP WYSIWYG 編輯器撰寫帖子。是迪維,出于我不知道的原因,應用了所有這些……風格?無論如何,一旦我完成遷移,所有內容都會傳遞到這個基于 X-Pro 的網站。在這里,我檢查了 WP WYSIWYG 中的每一篇文章,它們看起來很正常,當我在網上看到任何文章時,它都有那么大的文本塊。當我檢查帖子編輯器中的 HTML 選項卡時,我看到了所有垃圾代碼。為了擺脫這一切,我正在考慮使用 REGEX,但老實說,我不知道如何告訴 REGEXclass="entry-title"從p標簽內的標簽中刪除每個標簽blockquote,我也會刪除它,但前提是它有里面的所有這些元素。這將是一個救星。我在這里要瘋了。提前致謝!
查看完整描述

1 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

首先我們定義匹配正則表達式(PCRE 兼容):

~<blockquote>\s*(.+?)<p?class="entry-title">(.+?)<\/blockquote>~s

請參閱RegExr現場直播;點擊“解釋”即可理解該表達式。然后我們的替代品:

\1<p>\2

然后,這是一個添加了周圍內容的測試塊:

<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>

當應用上面的正則表達式時,例如在 中preg_replace($pattern, $replace, $content),上面的塊將轉換為:


<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>

我認為這是您想要的輸出。

現在,如何將其應用到您的所有內容?您有三個基本選擇:

  1. 使用 MySQL 的REGEXP_REPLACE函數——無論是在終端、PHPMyAdmin 中還是從 PHP 腳本中。

  2. 在 PHP 中處理清理:對具有此模式的所有帖子運行選擇查詢;然后用preg_replace;修改內容?最后更新數據庫條目。

  3. 下載數據庫轉儲,在您最喜歡的文本編輯器(支持正則表達式)中打開它,或將其通過管道傳輸到您選擇的工具中,并進行必要的替換;最后重新加載到您的數據庫中。(發生這種情況時,您可能希望將站點置于維護模式!)

無論您選擇哪種方式執行此操作,請務必先備份數據。


查看完整回答
反對 回復 2024-01-19
  • 1 回答
  • 0 關注
  • 169 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號