尝试使用正则表达式替换html标记

Geu*_*uis 4 javascript replace elements

例如,我正在尝试替换

<script type='text/javascript'>some stuff</script>
Run Code Online (Sandbox Code Playgroud)

有:

<div type='text/javascript'>some stuff</div>
Run Code Online (Sandbox Code Playgroud)

我目前正在测试:

alert( o.replace( /(?:<\s*\/?\s*)(script)(?:\s*([^>]*)?\s*>)/gi ,'div') );
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

divsomestuffdiv
Run Code Online (Sandbox Code Playgroud)

如何才能将其替换为"脚本"部分并保留其他标记和属性字符?

Gum*_*mbo 10

您保留了开始和结束标记括号.试试这个:

o.replace(/(<\s*\/?\s*)script(\s*([^>]*)?\s*>)/gi ,'$1div$2')
Run Code Online (Sandbox Code Playgroud)