2011-09-15 43 views
2

处理包含HTML标签的文本输入的最佳/推荐实践是什么?这个想法是正确显示输入,例如在不同的页面上。样式化开放式文本输入

正如所料,人们可以用他们的HTML非常有创意。例如:

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

又如:

<h1>...</h1> 

一个更具挑战的情况下将是一个输入而不结构正确的HTML例如<h1>Hello</p></h1>。如果没有适当的照顾,这可能会打破整个页面布局。

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

+0

'什么是最好的/推荐的做法?'不要自己做。正是你详细说明的原因。 –

+0

@Jeff:有没有一个SiteExchange网站,我可以(重新)发布这个问题?我仍然想知道别人在这种情况下做什么。谢谢! – moey

+0

@Jeff Atwood:你能解释一下为什么你认为这个问题“不具有建设性”?我很长一段时间Stack Overflow的用户/贡献者,我已经重新阅读了这个FAQ,但我没有看到这个问题出现了什么问题。 –

回答

0

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

如果您的渲染器存在非标准代码问题,那么可以先运行它,如tidy

+0

对不起,也许我没有真正清楚上面的描述。一些网站,例如StackOverflow允许我们输入一个开放式的输入,像这样的评论;我们可以基本上添加我们喜欢的任何信息

标题

但只有某些标签是'''很好的样式,例如'代码'。这只是一个CSS的问题,即风格的一些标签,并删除其他人? – moey

+0

是的,看来我误解了问题你需要做的是“消毒”输入,以便它可以安全嵌入到你的HTML的其余部分,除此之外,除了使修饰的类型(修复不匹配和不匹配的标签)之外,一个消毒器会过滤掉可能不安全的东西,比如JavaScript,iframe等等。 –

+0

感谢您的跟踪,我认为您的意思是不安全的JavaScript,而不是JavaScript等不安全的东西。(: – moey