HTML 显示文章

HTML displaying articles

大家好,我正在构建一个 web-app,用户可以在其中登录并 post/read 文章和评论等等。

我给他们一个表格 post 一篇文章,他们在其中提供标题、描述和文本。

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

我从文本区域中获取文章文本,并将其显示在 p 标签中,但显然它会跳过用户输入的换行符,但 pre 标签使其变得丑陋通过提供宽滚动 display.I 想知道哪个标签适合用于此目的?或者甚至通过 textarea 阅读一篇文章是否正确?

我是一名学习者,并且是第一次构建这样一个带有文章和评论部分的网络应用程序,因此非常欢迎任何建议。先谢谢你了。

我的建议是两个选择:

1.使用纯文本: 如果您希望用户不能在内容中放置任何 HTML,请向用户显示一个简单的 HTML Textarea 输入,然后当用户输入新行(Enter 键)时,它将是 \n 在您的数据库。当您想打印文章时,只需使用 nl2br($article_contents);,它会将新行 (\n) 转换为 HTML 换行符。

2。富文本: 如果您希望用户将 HTML 内容放入文章中,那么使用 TinyMCE 等文本编辑器会很容易。 TinyMCE 将使您的用户可以轻松地进行简单的 HTML 格式化,例如标题、粗体、斜体、段落对齐、颜色、添加图像。然后在 PHP 端使用 strip_tags 函数只允许某些标签,这样用户就不能在 HTML 内容中插入任何恶意代码,如 XSS 注入。例如:

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

建议的答案:

使用<span></span>

<p></p><div></div> 这样的标签尽可能多地占用 space,而 <span></span> 尽可能少地占用其中的内容,所以它可能会更多适合你。

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

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