我有一个文章的mysql数据库,这些文章被输入到没有格式化的textarea中,他们只使用换行符来换行
\n
我需要将所有这些转换为html br标签
<br />
你可以帮我写一个查询来执行此操作,我可以在phpmyadmin中运行吗?
表的名称是
exp_channel_data
作为奖金问题......
我是否可以运行查询,从p和span标签的中间删除所有内容
我想摆脱这些东西
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt">
<span face="Times New Roman">
并最终只有这个
<p>
<span>
答案 0 :(得分:20)
第一个问题:
UPDATE exp_channel_data SET text_column = REPLACE(text_column, '\r\n', '<br />')
如果不替换任何内容,请使用'\n'
代替'\r\n'
。
第二个问题:
您无法使用SQL查询,您必须将此数据提取到PHP脚本或其他任何您喜欢的地方,并执行正则表达式替换(例如PHP):
$new_str = preg_replace('#<(p|span)[^>]+>#', '<$1>', $old_string);
答案 1 :(得分:6)
UPDATE yourTable SET text=REPLACE(text,"\n","<br />")
这适用于您的第一个问题。
答案 2 :(得分:1)
由于您正在使用ExpressionEngine,因此您只需将每个字段的格式更改为XHTML即可。它将在前端显示时添加<br />
标记。下注以保持数据清洁并将格式保留给显示它的解析器。
答案 3 :(得分:0)
如果有人碰巧寻找 PHP 端解决方案,请使用 nl2br
函数...它对我有用。它在运行时将那些讨厌的换行符转换为 HTML <br>
标签。