我正在发布一个带有textarea的表单。HTML DOM Validator - PHP或JavaScript
我允许发布HTML。
现在我想检查用户是否已经关闭了他发布的html中的标签......当我显示该HTML时,像div和table等破坏的标签会损坏整个页面显示...任何方式来检查在PHP或JavaScript中适当的标签useage?
任何指针或帮助,将不胜感激。
谢谢
我正在发布一个带有textarea的表单。HTML DOM Validator - PHP或JavaScript
我允许发布HTML。
现在我想检查用户是否已经关闭了他发布的html中的标签......当我显示该HTML时,像div和table等破坏的标签会损坏整个页面显示...任何方式来检查在PHP或JavaScript中适当的标签useage?
任何指针或帮助,将不胜感激。
谢谢
你可能想看看所谓的HTMLPurifier一个PHP的工具 - 有可用的demo page,如果你想快速检查它能做什么。
它需要“排序”HTML作为输入,并提供格式良好的HTML作为输出;这样,您不会强制用户输入格式良好的HTML,但可以“更正”他们输入的内容。
另一件好事是,您可以指定允许哪些标签和属性;这是很好的安全性也:
<p>
和<strong>
标签,但不<script>
。<a>
+ href
;但不<a>
+ onclick
例如,这里是一些形成没有孔HTML,你可以给它:
<p>this is a <strong>test</p>
<script type="text/javascript">alert('glop');</script>
<p>And this is another <em>te<strong>st</em></strong></p>
这里给出合式/安全HTML输出:
<p>this is a <strong>test</strong></p>
<p>And this is another <em>te<strong>st</strong></em></p>
发生了什么变化?
<strong>
标签已经自动关闭<script>
标签及其内容已被删除<em>
和<strong>
标签在第二段的顺序已被校正。这只是一个简单的例子,当然 - 我希望它有帮助。
我不完全确定你要完成什么。如果你正在寻找一个富文本编辑器,则可以尝试,而不是试图重新发明轮子,更成熟的解决方案之一/
http://www.queness.com/post/212/10-jquery-and-non-jquery-javascript-rich-text-editors
你需要的正则表达式来检查封闭的标签。对于不熟悉正则表达式的人来说有点复杂。
使用此搜索作为一个起点: http://www.google.com.kw/search?q=regex+html+tags
非常感谢... – foxybagga 2009-08-26 11:22:13