gpt4 book ai didi

javascript - 用双引号替换所有使用单引号的html属性定义

转载 作者:行者123 更新时间:2023-11-29 22:19:14 24 4
gpt4 key购买 nike

我有一个 html 字符串,我想用双引号替换用单引号设置的 html 属性的任何实例。

例如,我想替换

<script src='foo.js'></script>

<script src="foo.js"></script>

但是,我想在不影响 javascript 语句或 html 文本中的任何单引号的情况下执行此操作。

例如

<script> var foo = '67'; </script> 

应该不受影响

<div id='foo'> 'hi' </div>

应该变成

<div id="foo"> 'hi' </div>

有什么简单的方法可以做到这一点吗?

对于给定的元素,使用 jquery 选择它然后读取其 outerHTML 会执行此操作,但我想一次对整个 html 页面执行此操作。

谢谢!

最佳答案

试试这个:

var str = "<br style   = 'width:100px'/>   test link<a href=\"http://www\"></a>";
var regex = /<\w+\s*(\w+\s*=\s*(['][^']*['])|(["][^"]*["]))*\s*[\/]?>/g;
var rstr = str.replace(regex, function($0,$1,$2){
return $0.replace($2, $2.replace(/'/g, '"'));
});
console.log('replaced string = ' + rstr);

您可以重构它以严格匹配您的情况。

关于javascript - 用双引号替换所有使用单引号的html属性定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com