Mysql

在 MySQL 中用空格替換文本

  • May 17, 2011

我正在嘗試在我的數據庫中對搜尋進行全域替換,由於以下程式碼,該數據庫中有很多帶有雙迴車的文章:

<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> 不同。

引用自:https://serverfault.com/questions/225585