我的模板中有一行需要帮助修复。
如果用户将开始<div>
标签或结束标签</div>
或任何其他与结构相关的 HTML 标签发布到内容中,则会导致页面上的模板混乱。
我htmlentities
在标题和其他形式上使用。不幸的是,我不能在这里这样做,因为内容字段有一个丰富的编辑器,我需要保持文本样式标签完整(<b>
、<u>
、颜色<i>
等)。
现在,用户很容易故意弄乱模板,我想防止这种情况发生。
我的模板中有一行需要帮助修复。
如果用户将开始<div>
标签或结束标签</div>
或任何其他与结构相关的 HTML 标签发布到内容中,则会导致页面上的模板混乱。
我htmlentities
在标题和其他形式上使用。不幸的是,我不能在这里这样做,因为内容字段有一个丰富的编辑器,我需要保持文本样式标签完整(
最好的方法是将文本扔到 DOM 解析器中并让它解决所有的混乱。这样的工具可能比您可以组合的任何东西都更强大,包括解决您不知道自己可能遇到的问题。
既然您已经在评论中澄清了实际问题是什么,我也许可以提供帮助。问题基本上是您不希望用户输入的长词破坏页面布局。
您提出的 PHPwordwrap
解决方案已经存在许多问题,其中您发现的问题(破坏您的 HTML)是最明显的。
但是,由于这个问题纯粹是不想让长词破坏您的页面布局,因此可以使用其他几种解决方案。
对任何过长的单词做一些特定的事情,而不是对整个文本。您可以为它们添加手动换行符、空格或 HTML<wbr>
标记(这是一个可选的换行符,即用于连字符的目的)。或者,您甚至可以一开始就阻止用户输入疯狂的长词。
CSSoverflow-x:hidden
使用它,任何溢出框边的文本都将被隐藏,而不是打印在页面其他部分的顶部。
CSSword-wrap
有几种方法可以做到这一点,但由于浏览器支持的不同,它变得有点棘手。但这里有一个链接可以解释这一切:http ://blog.kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/
希望有帮助。