【问题标题】:Styling Open-Ended Text Inputs [closed]样式化开放式文本输入
【发布时间】:2011-11-18 01:50:16
【问题描述】:

处理包含 HTML 标记的文本输入的最佳/推荐做法是什么?这个想法是正确显示输入,例如在不同的页面上。

正如预期的那样,人们的 HTML 可以非常有创意。例如:

<p>...</p>
<ul><li>...</li></ul>

另一个例子:

<h1>...</h1>

一个更具挑战性的情况是输入没有正确结构化的 HTML,例如&lt;h1&gt;Hello&lt;/p&gt;&lt;/h1&gt;。如果没有适当的照顾,这有可能破坏整个页面布局。

我能想到的一件事是完全去除标签。但是,可能有更好的方法。至少,我希望能够在段落之间放置适当的间距/边距;而不是将它们折叠在一起。

【问题讨论】:

  • What's the best / recommended practice? 不要自己动手。正是出于您详述的原因。
  • @Jeff:我可以(重新)发布这个问题的 SiteExchange 网站吗?我仍然想知道其他人在这种情况下是怎么做的。谢谢!
  • @Jeff Atwood:你能解释一下为什么你认为这个问题“没有建设性”吗?我是 Stack Overflow 的长期用户/贡献者,我已经重新阅读了常见问题解答,但我看不出这个问题有什么问题。
  • 太糟糕了,这个问题被关闭了。 :(

标签: html text user-input styling textinput


【解决方案1】:

正如 rlb.usa 在 cmets 中指出的那样,大多数人依靠成熟的、经过充分测试的 HTML 渲染器来显示 HTML。 WebKit、Qt 和 Microsoft 的 Trident 控件是流行的选择,具体取决于平台。

如果您的渲染器存在非标准代码问题,您可以先通过tidy 之类的方式运行它。

【讨论】:

  • 对不起,我可能对上面的描述不是很清楚。一些网站,例如StackOverflow 允许我们输入像这条评论这样的开放式输入;而且,我们基本上可以添加任何我们喜欢的

    Header

    但只有某些标签的样式很好,例如code。这只是 CSS 的问题,即设置一些标签的样式并删除其他标签?
  • 是的,看来我误读了这个问题。您需要做的是“清理”输入,以便它可以安全地嵌入到 HTML 的其余部分中。有这方面的图书馆。除了使更改类型变得整洁(修复不匹配和不匹配的标签)之外,清理程序还会过滤掉潜在的不安全内容,例如 JavaScript、iframe 等。
  • 感谢您的跟进。我认为你的意思是不安全的 JavaScript,而不是像 JavaScript 这样的不安全的东西。 (:
  • @Siku-Siku.com:我是认真的。让用户在您的页面中嵌入任意 JavaScript 通常是危险的。由于 JavaScript 是一门完整的编程语言,因此通常不可能尝试将其过滤为“不安全”的东西。
猜你喜欢
  • 1970-01-01
  • 2011-11-12
  • 2021-02-22
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多