当用户创建一条消息时,会有一个多框,这个多框连接到一个设计面板,让用户可以更改字体、颜色、大小等。当消息被提交时,消息将以 html 标签显示,如果用户更改了字体的颜色、大小等。
注意:我需要设计面板,我知道可以删除它,但事实并非如此:)
这是一个 Sharepoint 标准,我唯一的解决方案是在显示时使用 javascript 去除这些标签。用户应该只能插入链接、图像和添加换行符。
这意味着除了<a></a>
之外的所有html 标签都应该被删除。 , <img>
和 <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 之外的所有内容,并用它们的内容替换它们。
关于javascript - 如何使用 javascript 去除除 <a></an>、<img>(内部属性)和 <br> 之外的所有常规 html 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128125/