嘿伙计们我正在建立一个网络应用程序,用户可以登录和发布/阅读文章,评论和事物。
我给他们一个表格来发表一篇文章,其中提供了标题,描述和文字。
将验证和sql注入放在一边(已经完成),我需要帮助将存储在MySQL数据库中的文章显示为TEXT。
我从文本区域中获取文章文本,并将其显示在p
标记中,但显然它会跳过用户输入的新行字符,但pre
标记会让它变得难看一个宽的可滚动显示。我想知道哪个标签适合用于此目的?或甚至通过textarea
正确的文章?
我是一名学习者,并且正在首次使用文章和评论部分构建这样的网络应用程序,因此欢迎任何建议。先谢谢你。
答案 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