用于在<;中查找属性的Javascript Regexp是什么;span>;标签?

用于在<;中查找属性的Javascript Regexp是什么;span>;标签?,javascript,regex,html-sanitizing,Javascript,Regex,Html Sanitizing,我有一个。有没有办法用Regexp做到这一点?我在编写Regexp时遇到了困难,因为我不知道如何使它以开头,并且任何数量的字符都可以介于两者之间。有没有办法将其合并到一个Regexp中?我提出了/^$/,但这不起作用,因为这两个字符串之间没有划分。是否需要此工作:/^[]$/g?尝试以下操作: your_string.replace(/<span[^>]*>/g, '<span>'); 您的_字符串。替换(/]*>/g'); 但是,如果用户编写类似于的内容,则此

我有一个
。有没有办法用Regexp做到这一点?我在编写Regexp时遇到了困难,因为我不知道如何使它以
开头,并且任何数量的字符都可以介于两者之间。有没有办法将其合并到一个Regexp中?我提出了
/^$/
,但这不起作用,因为这两个字符串之间没有划分。是否需要此工作:
/^[]$/g

尝试以下操作:

your_string.replace(/<span[^>]*>/g, '<span>');
您的_字符串。替换(/]*>/g');
但是,如果用户编写类似于

的内容,则此操作将中断。请尝试以下操作:

your_string.replace(/<span[^>]*>/g, '<span>');
您的_字符串。替换(/]*>/g');

但是,如果用户编写类似于解析HTML的内容,然后去掉属性,则会出现这种情况。如果您在浏览器中执行此操作,您可以使用高级HTML解析器(或者您有IE),所以请使用它

解析HTML,然后去掉属性。如果您在浏览器中执行此操作,您可以使用高级HTML解析器(或者您有IE),所以请使用它

对其使用DOM函数。下面是一些使用jQuery使其更易于阅读的代码:

$('#your-div span').each(function() {
    var elem = this, $elem = $(this);
    $.each(elem.attributes, function(i, attr) {
        if(attr) {
            $elem.removeAttr(attr.name);
        }
    });
});
演示:

但是,在您的情况下,您可能希望不仅从span中删除属性,而且从所有元素中删除属性,除非该属性是例如
align
href

因此,这里有一些JS:


使用DOM函数。下面是一些使用jQuery使其更易于阅读的代码:

$('#your-div span').each(function() {
    var elem = this, $elem = $(this);
    $.each(elem.attributes, function(i, attr) {
        if(attr) {
            $elem.removeAttr(attr.name);
        }
    });
});
演示:

但是,在您的情况下,您可能希望不仅从span中删除属性,而且从所有元素中删除属性,除非该属性是例如
align
href

因此,这里有一些JS:

我做了一个工作演示

[我更改了一个早期版本,该版本将内容复制到内存中,进行编辑,然后进行替换-没有意识到键入到div中的内容在DOM中自动有效]。

我在



[我更改了一个早期版本,该版本将内容复制到内存中,进行编辑,然后进行替换-我没有意识到输入到div中的内容在DOM中是自动有效的]。

如果HTML是输入,regexp不是答案…@Alnitak输入不是HTML我有检索HTML的Javascript。基本上,我正在尝试与那些将从绿色和粗体等网页复制文本并粘贴到我的
中的人合作。我想在存储时去掉这种样式。如果你对JavaScript缺乏经验,你可能在这里做得太过分了。@chromedude-这仍然是个问题HTML@Tim你可能是对的。在某些方面,我明白你在说什么,但在其他方面,我必须有时间去学习。半年前,我认为阿贾克斯很酷,但只适合那些非常熟练的人。在过去的几周里,我经常使用AJAX,没有任何问题。如果输入是HTML,则regexp不是答案…@Alnitak输入不是HTML,我有检索HTML的Javascript。基本上,我正在尝试与那些将从绿色和粗体等网页复制文本并粘贴到我的
中的人合作。我想在存储时去掉这种样式。如果你对JavaScript缺乏经验,你可能在这里做得太过分了。@chromedude-这仍然是个问题HTML@Tim你可能是对的。在某些方面,我明白你在说什么,但在其他方面,我必须有时间去学习。半年前,我认为阿贾克斯很酷,但只适合那些非常熟练的人。在过去的几周里,我经常使用AJAX,没有遇到任何问题。对不起,我对Javascript比较陌生,我真的不确定浏览器中有什么解析器。很明显我只是糊涂了。@ThiefMaster o,好吧,我想这是@nickf用词提问的方式。对不起,我对Javascript比较陌生,我真的不确定浏览器中有什么解析器。很明显我只是糊涂了。@ThiefMaster o,好吧,我猜是@nickf用词提问的。你放错网址了吗?因为当我去那里时,它出现了一个错误。是的,我做了-URL现在是正确的,但是现在引用了代码的早期版本。您是否输入了错误的URL?因为当我去那里的时候,它出现了一个错误。是的,我做了-URL现在是正确的,但是现在引用了代码的早期版本。这确实符合我的要求。谢谢这绝对符合我的要求。谢谢使用公认答案,我的答案仅针对直接提出但不应在此上下文中使用的问题。使用公认答案,我的答案仅针对直接提出但不应在此上下文中使用的问题。