您可以使用此正则表达式将常规双引号替换为引号:
"(?![^<]*>|[^<>]*<\/)
请参阅here。
如果需要括起引用的字符串,可以使用另一个正则表达式:
"([^"><]+)"(?![^<]*>|[^<>]*<\/)
并用。替换匹配
“$1”
:
var re = /"([^"><]+)"(?![^<]*>|[^<>]*<\/)/g;
var str = '<img src="/htm/in.jpg"> "my quoted string"';
var subst = '“$1”';
var result = str.replace(re, subst);
请参阅demo。