大家好,我正在构建一个网络应用程序,用户可以在其中登录和发布/阅读文章以及评论和事物。
我给他们提供了一个表格来发布文章,并在其中提供标题,描述和文本。
将验证和sql注入放在一边(已经完成了),我需要帮助以TEXT显示存储在MySQL数据库中的文章。
我从文本区域中获取文章文本,并在p
标记中显示它,但显然它会跳过用户输入的换行符,但是pre
标记通过提供宽的可滚动显示使其很难看。知道哪个标签适合用于此目的?甚至通过textarea
撰写文章是否正确?
我是一个学习者,并且正在首次构建包含文章和评论部分的webapp,因此,欢迎提出任何建议。在此先感谢您。
最佳答案
我的建议是两种选择:
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>");
关于php - HTML显示文章,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37093482/