[英]PHP/JS REGEX: In a string, how to replace 2 single quotes that are enclosed by angle brackets?
Example: 例:
Change 更改
<a href='site.com'>Click Here</a>
into 成
<a href="site.com">Click Here</a>
Javascript: 使用Javascript:
str.replace(/<(.*?)'(.+?)'(.*?)>/g,'<$1"$2"$3>');
php: PHP:
preg_replace("/<(.*?)'(.+?)'(.*?)>/g",'<$1"$2"$3>',$str);
If you need to catch more than one group inside enclosed brackets then regex is kind of tricky, use this instead: 如果您需要在封闭的方括号内捕获多个组,则正则表达式有点棘手,请改用以下方法:
var bracket = 0;
str = str.split("").map(function(c) {
if (c === "<") bracket++;
if (c === ">") bracket--;
if (c === "'" && bracket >= 1) {
return '"';
} else {
return c;
}
}).join("");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.