HTML显示文章

时间:2016-05-07 20:40:18

标签: php html mysql web-applications pre

嘿伙计们我正在建立一个网络应用程序,用户可以登录和发布/阅读文章,评论和事物。

我给他们一个表格来发表一篇文章,其中提供了标题,描述和文字。

将验证和sql注入放在一边(已经完成),我需要帮助将存储在MySQL数据库中的文章显示为TEXT。

我从文本区域中获取文章文本,并将其显示在p标记中,但显然它会跳过用户输入的新行字符,但pre标记会让它变得难看一个宽的可滚动显示。我想知道哪个标签适合用于此目的?或甚至通过textarea正确的文章?

我是一名学习者,并且正在首次使用文章和评论部分构建这样的网络应用程序,因此欢迎任何建议。先谢谢你。

3 个答案:

答案 0 :(得分:1)

我的建议有两种选择:

<强> 1。使用纯文本 如果您希望该用户无法在内容中添加任何HTML,请向用户显示简单的HTML Textarea输入,然后当用户输入新行(Enter键)时,它将在您的数据库中为\ n。如果要打印文章,只需使用nl2br($article_contents);,它会将新行(\ n)转换为HTML换行符。

<强> 2。富文本: 如果您希望用户将HTML内容放入文章中,那么使用TinyMCE之类的任何文本编辑器会很容易。 TinyMCE将使您的用户轻松进行简单的HTML格式设置,如标题,粗体,斜体,段落对齐,颜色,添加图像。然后在PHP端使用strip_tags函数仅允许某些标记,因此用户无法将任何恶意代码(如XSS注入)插入到HTML内容中。例如:

strip_tags($article_contents, "<u><b><i><font><span><p>");

答案 1 :(得分:0)

建议答案:

使用<span></span>

<p></p><div></div>这样的标签占用尽可能多的空间,而<span></span>占用尽可能少的内容,因此它可能更适合你。

如果这对您有用,请告诉我。

答案 2 :(得分:0)

在PHP中,您可以使用功能nl2br将所有换行符更改为BR HTML标记。 http://php.net/nl2br