2013-03-22 92 views
2

我目前正在處理大量填充了帖子的非常大的WordPress構建。我有一個請求來通過,我必須做到以下幾點...正則表達式 - 移除包裹在img標籤上的錨標籤

刪除所有錨點標籤,包裹img標籤。

例如,我需要以下...

<a href="some-random-page"><img src="some-radom-image"/></a> 

要成爲...

<img src="some-random-image"/> 

難道這在所有的使用,我可以在phpMyAdmin運行SQL UPDATE語句來完成因爲所有的WordPress帖子都存儲在「posts」表中。

希望有人能幫忙。

+0

MySQL不能做正則表達式替換盒子外面。但是,您可以使用'REGEXP_REPLACE' [用戶定義的函數](https://launchpad.net/mysql-udf-regexp)。請參閱[如何在MySQL中執行正則表達式替換?](http://stackoverflow.com/q/986826/851811)。 – 2013-03-22 10:54:50

+0

現在我只需要REGEX就可以做到這一點。 – Dally 2013-03-22 10:59:34

+0

或者使用['SUBSTRING_INDEX'](http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index)等字符串處理函數去除錨點部分(可能爲需要對列內容進行一些假設) – 2013-03-22 11:00:10

回答

0

您可以使用Dreamweaver進行此操作。導出你的數據庫表。在Dreamweaver中打開。

選中「正則表達式」選項,查找以下內容。

<a href="([^>]*)"><img src="([^>]*)"/></a> 

現在用替換此:

<img src=$2/> 

現在導入數據庫表背到MySQL。

1

對於比賽使用:(<a[^<]*>.*?)(<img[^>]*>)([^<]*</a>)

對於替換使用:$2

例子:http://RegExr.com?37vbk

(替換例如與您的字符串虛擬文本)