Mysql 将新行字符转换为html的sql查询<;br>;

Mysql 将新行字符转换为html的sql查询<;br>;,mysql,html,expressionengine,Mysql,Html,Expressionengine,我有一个mysql数据库,其中的文章输入到一个文本区域,没有格式,它们只使用换行符换行 \n 我需要将所有这些转换为html br标记 <br /> 作为一个额外的问题 我是否可以运行一个查询,将p和span标记中间的所有内容都去掉 我想把这些东西扔掉 <p class="MsoNormal" style="MARGIN: 0in 0in 0pt"> <span face="Times New Roman"> 结果就是这样 <p> &l

我有一个mysql数据库,其中的文章输入到一个文本区域,没有格式,它们只使用换行符换行

\n
我需要将所有这些转换为html br标记

<br />

作为一个额外的问题

我是否可以运行一个查询,将p和span标记中间的所有内容都去掉

我想把这些东西扔掉

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt">
<span face="Times New Roman">

结果就是这样

<p>
<span>

更新您的表格集text=REPLACE(文本“\n”,“
”)
这适用于您的第一个问题。

第一个问题:

UPDATE exp_channel_data SET text_column = REPLACE(text_column, '\r\n', '<br />')

因为您使用的是ExpressionEngine,所以只需将每个字段的格式更改为XHTML即可。当显示在前端时,它将添加

标记。打赌保持数据干净,并将格式设置留给显示数据的解析器。

如果有人碰巧在寻找PHP端解决方案,请使用
nl2br
函数。。。这对我有用。它在运行时将这些讨厌的换行符转换为HTML

标记


如果您还不知道这一点,请阅读SQL注入:。你真的,真的,不想在你的数据库中有SQL。另外,一般来说,我强烈建议在数据库之外进行这种格式化工作。是的,我实际上没有在数据库中包含任何SQL(我想),这只是我需要运行的一次转换,请注意tipThat不是有效的SQLsyntax@Crack是的,很抱歉。德国现在太热太潮湿了。嘿,分享你的阳光。19°C,波兰多雨;)实际上,我正在从带有自动br格式的textarea字段类型切换到NSM TinyMCE,并希望保留中断,如果我不这样做,文本将一起运行,如果我不切换字段类型,您的解决方案将是第二个问题的一个好方案使用mariadb代替mysql并练习REGEXP_REPLACE()我在php trim(preg_replace(“/\r\n/”、“ ;”、$text))中以这种方式使用了它;
UPDATE yourTable SET text=REPLACE(text,"\n","<br />")
UPDATE exp_channel_data SET text_column = REPLACE(text_column, '\r\n', '<br />')
$new_str = preg_replace('#<(p|span)[^>]+>#', '<$1>', $old_string);