我有一个cms,我的页面管理员登录和发布各种新闻。显示格式文本
页面是希腊语,所以我使用utf-8编码。
他们在textarea中编写他们的新闻/消息/任何内容,当他们发布后,下面的php脚本准备文本,以便它可以存储在mysql数据库中。
$text = $_POST['text'];
$text = htmlentities($text, $quote_style = null, $charset = "UTF-8", $double_encode = null);
$text = mysql_real_escape_string($text);
然后,当用户进入页面,我从数据库读取文本,我包括whick看起来像这样一个视图文件:
<p><?php echo $text; ?></p>
但是,当文本显示,它看起来像一块文字,没有换行。
我能做些什么来显示文章的完整内容?
我使用htmlentities的原因是我并不真正希望在网站上发布新闻的人有能力发布实际的html代码。如果这不是一个好主意,请告诉我。
我也尝试使用:
$text = $row['text'];
$text = html_entity_decode($text, $quote_style = null, $charset = "UTF-8");
调用视图来显示文本之前,但没有运气那里。
在写入数据库之前替换换行符是一个坏主意。如果你想编辑那个文本,你需要在输出到textarea之前替换'
'。 – Corubba 2012-01-13 13:45:38
@BloodyWorld你说得对。 – WoLfulus 2012-01-13 13:55:48