2014-01-15 39 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

相关问题