我需要清理mySQL数据库中表的文本列。
该文字与以下内容非常相似:
<p>This is the content of a song,<br>
lyrics go here<br>
lyrics of the song<br>
end of first paragraph.</p>
<p>
Testing data,<br>
this is more text</p>
<p>
Testing more data,<br>
this is another text</p>
我需要以下内容:
<p>This is the content of a song,<br>
lyrics go here<br>
lyrics of the song<br>
end of first paragraph.</p>
<p>Testing data,<br>
this is more text</p>
<p>Testing more data,<br>
this is another text</p>
换句话说,我需要在</p>
之后添加一个新行,并在<p>
和文本之间修剪空格
我知道如何在</p>
UPDATE lyrics SET lyrics = REPLACE(lyrics, '</p>', '</p>\n\n')
但我不知道如何删除<p>
与文本本身之间的空文本。
BEFORE:
<p>
Testing data,<br>
this is more text</p>
AFTER:
<p>Testing data,<br>
this is more text</p>
答案 0 :(得分:1)
您是否尝试将'<p>\n\n'
替换为'<p>'
?
编辑:
我同意tadman的评论,但如果您迫切需要在SQL中执行此操作,我认为您最好的选择是尝试更多组合 ......
在检查粘贴的数据后,您应该尝试更换<p> \n\n
(带空格)
如果这不起作用,可能\r
换行正在搞砸某些东西? (我甚至不知道这是否重要)
无论哪种方式,这都不是一个非常稳定的解决方案。我至少会考虑一些替代方法/语言。
答案 1 :(得分:0)
你试过这个:
UPDATE lyrics SET lyrics = REPLACE(lyrics, '<p>\n\n', '<p>')