在 MySQL 中用空格替換文本
我正在嘗試在我的數據庫中對搜尋進行全域替換,由於以下程式碼,該數據庫中有很多帶有雙迴車的文章:
<p> </p>
我想在我的 WordPress 部落格中替換它,這樣就不會出現……什麼都沒有,所以我可以刪除 CR。我在我的數據庫上試過這個
UPDATE wp_posts set post_content = replace (post_content,'<p> </p>','');
但沒有用。為什麼?我是否必須添加特殊的想法來考慮 和 之間的
<p>
空間</p>
?嗯。好點,Jon Angliss 和 Wim。喬恩,您可能已經猜到了,數據庫沒有顯示包含該文本字元串的條目。所以在 post_content 欄位中發生了一些事情。
Wim,著名的之前已被替換,但仍有數百篇文章由於某種原因在 p 和 /p 標籤之間存在一些差異。
我已經搜尋了出現此錯誤的文章之一:
mysql> select * from wp_posts where post_title like '%3DVisionLive%';
查看 wp_content 欄位,這是文章的一小部分:
Phil Eisler, responsable de la divisi?n 3D Vision.?</p> <p>?</p> <p>Este portal ser? por tanto
終端上沒有顯示西班牙語波浪號(重音),並且在 p 和 /p 標記之間有一個引號而不是空格。我試過更換
<p>?</p>
,但同樣沒有結果。那裡有一些(或幾個)角色,但我不知道如何發現它。也許這是我終端的字元集,但我已經從 phpmyadmin 訪問了數據庫,在這種情況下,p 和 /p 之間有一個空格字元。奇怪的。好吧,有更多關於這個的資訊在嘗試了幾件事之後,我做了這個替換:
UPDATE wp_posts set post_content = replace (post_content,' ',' ');
現在在我的文章中出現了
<p> </p>
而不是之前的字元串導致段落之間出現額外的 CR,看起來真的沒用而且很差。所以我回到了起點。我需要做的是用空字元或空格替換。
它是否必須與&符號一起使用,在這種情況下,我應該使用類似 的東西嗎?或類似的東西?
嗯。好點,Jon Angliss 和 Wim。喬恩,您可能已經猜到了,數據庫沒有顯示包含該文本字元串的條目。所以在 post_content 欄位中發生了一些事情。
Wim,著名的之前已被替換,但仍有數百篇文章由於某種原因在 p 和 /p 標籤之間存在一些差異。
我已經搜尋了出現此錯誤的文章之一:
mysql> select * from wp_posts where post_title like '%3DVisionLive%';
查看 wp_content 欄位,這是文章的一小部分:
Phil Eisler, responsable de la divisi?n 3D Vision.?</p> <p>?</p> <p>Este portal ser? por tanto
終端上沒有顯示西班牙語波浪號(重音),並且在 p 和 /p 標記之間有一個引號而不是空格。我試過更換
<p>?</p>
,但同樣沒有結果。那裡有一些(或幾個)角色,但我不知道如何發現它。也許這是我終端的字元集,但我已經從 phpmyadmin 訪問了數據庫,在這種情況下,p 和 /p 之間有一個空格字元。奇怪的。
我的第一個檢查是查看數據庫中的內容是否是您真正認為的內容。例如,您是否真的有文章包含您正在使用的確切字元串?您是否嘗試過選擇以查看該字元串是否匹配?
select ID from wp_posts where post_content like '%<p> </p>%'
如果您沒有收到任何回复,則說明您的字元串不完全匹配,您需要開始找出字元串中的真正內容,可能導出到文件,然後查看其中的內容。另外,不要忘記REPLACE函式是區分大小寫的,所以 <P> 與 <p> 不同。