如何删除除(内部属性)和javascript之外的所有常规html标签?

当用户创建消息时,有一个多箱,这个多箱连接到一个设计面板,让用户可以更改字体,颜色,大小等.当提交消息时,如果用户改变了颜色,消息将显示为带有html标签的消息,字体大小等.

注意:我需要设计面板,我知道可以删除它,但事实并非如此:)

这是一个Sharepoint标准,我唯一的解决方案是使用javascript在显示时剥离这些标记.用户应该只能插入链接,图像和添加换行符.

这意味着除了< a>< / a>,< img>之外,所有html标签都应该被剥离.和< br>标签.

同样重要的是< img>内的属性.标签不会被删除.它可以像这样显示:

<img src="/image/Penguins.jpg" alt="Penguins.jpg" style="margin:5px;width:331px;">

我怎样才能通过javascript实现这一目标?

我以前使用以下代码隐藏的C#代码,它完美地工作但它会删除除< br>之外的所有html标记.仅标记.

public string Strip(string text)
{
   return Regex.Replace(text, @"<(?!br[\x20/>])[^<>]+>", string.Empty);
}

任何形式的帮助都很受欢迎

解决方法:

这样做你想要的吗? http://jsfiddle.net/smerny/r7vhd/

$("body").find("*").not("a,img,br").each(function() {
    $(this).replaceWith(this.innerHTML);
});

基本上选择除a,img,br之外的所有内容,并用它们的内容替换它们.

上一篇:阿里云前端周刊 - 第 27 期


下一篇:ORACLE表空间及用户创建