例如,如果我有
<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表达式。
答案 0 :(得分:1)
使用REPLACE()
函数如果您的代码只看起来像<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来处理。