当用户创建消息时,有一个多箱,这个多箱连接到一个设计面板,让用户可以更改字体,颜色,大小等.当提交消息时,如果用户改变了颜色,消息将显示为带有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之外的所有内容,并用它们的内容替换它们.