例如,如果我有
<b>some king of #1 Text</b>
存储在mysql表中,有没有办法把它改成
<h2>some king of #1 Text</h2>
无需转到每一行并手动更改它。?
在某些情况下[如果可能]我需要更换
<p><b>some king of #1 Text</b></p><p>other text</p>
与
<h2>some king of #1 Text</h2><p>other text</p>
.我在想也许是 sql 表达式。
最佳答案
使用 REPLACE()
函数 if 你的标签看起来像 <b>
和 </b>
没有其他属性,因为这实际上只是一个简单的字符串替换操作。
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '<b>', '<h2>');
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '</b>', '</h2>');
如果您的标签包含其他属性,例如 <b class='something'>
您最好在使用 HTML 解析器输出时修改它。
问题编辑后更新:
如果您有精确的模式 <p><b>...</b></p>
没有额外的空格,你仍然可以使用 REPLACE()
,但您需要在上面列出的两个之前运行此对。
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '<p><b>', '<h2>');
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '</b></p>', '</h2>');
如我之前提到的,任何超出此复杂性的问题都最好通过使用适当的 HTML 解析器修改应用程序代码中的 HTML 来处理。
关于mysql - 替换存储在数据库中的标签,保持它们之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013645/