2014-01-15 37 views
0

我需要在mysql數據庫中更改相當多的html條目。我的問題是一些標籤需要被替換,而包圍的代碼需要保持不變。詳細信息:tr-tags中所有帶有「kopf」類的td-tags需要更改爲th-tags(以及爲標籤添加結尾)在保留內部文本的情況下,在phpmyadmin中替換字符串

如果沒有結束標記,它就不會成爲問題。

update `tt_content` set `bodytext` = replace(`bodytext`,'<tr class="kopf"><td colspan="2">','<tr><th colspan="2">'); 

這會工作

從我找到了%-sign被使用,但究竟如何?:

update `tt_content` set `bodytext` = replace(`bodytext`,'<tr class="kopf"><td colspan="2">%</td></tr>','<tr><th colspan="2">%</th></tr>'); 

我想這將舊的TD標籤內更換所有的代碼由%符號??我如何達到需要的更換?

編輯:只是爲了澄清事情這裏是一個數據庫中的可能的條目:mysql的更換後

<table class="techDat" > <tbody> <tr class="kopf"> <td colspan="2"> <p><strong>Technical data:</strong></p> </td> </tr> <tr> <td> <p>Operating time depending on battery chargeBetriebszeit je Akkuladung</p> </td> <td> <p>Approx. 4 h</p> </td> </tr> <tr> <td> <p>Maximum volume</p> </td> <td> <p>Approx. 120 dB(A)</p> </td> </tr> <tr> <td> <p>Weight</p> </td> <td> <p>Approx. 59 g</p> </td> </tr> </tbody> </table> 

它應該看起來像

<table class="techDat" > <tbody> <tr> <th colspan="2"> <p><strong>Technical data:</strong></p> </th> </tr> <tr> <td> <p>Operating time depending on battery chargeBetriebszeit je Akkuladung</p> </td> <td> <p>Approx. 4 h</p> </td> </tr> <tr> <td> <p>Maximum volume</p> </td> <td> <p>Approx. 120 dB(A)</p> </td> </tr> <tr> <td> <p>Weight</p> </td> <td> <p>Approx. 59 g</p> </td> </tr> </tbody> </table> 

回答

1

要做兩項內容替換

update `tt_content` set `bodytext` = 
replace(replace(`bodytext`, 
'<tr class="kopf"><td colspan="2">','<tr><th colspan="2">'), 
'</td></tr>','</th></tr>') 
+0

謝謝你,但是這並不在我的情況下工作,因爲有這需要使用雙取代的變化是​​ 其他表中的行每到這不是我所需要。我只需要影響class =「kopf」 – user3048667

+0

的行,所以添加'bodytext like'%tr class = \「kopf \」%「' – AdrianBR

+0

%將無法在替換中工作,您需要構建自己的適合每種情況的字符串函數 – AdrianBR

0

嘗試更新您的記錄與兩個闕里斯: 1)對於沒有%符號: update tt_content set bodyText的= replace( bodyText的,'<tr class="kopf"><td colspan="2">','<tr><th colspan="2">');

2)%符號

update tt_content set bodyText的= replace( bodyText的,'<tr class="kopf"><td colspan="2">%</td></tr>','<tr><th colspan="2">%</th></tr>') where instr(bodytext,'%') > 0;

+0

我想我描述它是錯誤的。沒有%符號被搜索。我認爲%符號在mysql中用於任何其他文本。像*帶有文件名... – user3048667

+0

只是懷疑你爲什麼不簡單地嘗試替換(「 Krishna

+0

,因爲仍然需要正常​​...部分。如果它如此普遍,那就沒有問題了。問題在於改變我的第一篇文章中顯示的代碼,我編輯它以提供更多細節。 – user3048667

相關問題