这是⼀段包含了 html 标签信息的富⽂本,现在需要将其中的⽂本内容处理为全⼤写
解决⽅案:
function superTrim(str) {
// 匹配标签之间的⽂本
const reg = /(?<=>)(.|\s)*?(?=<\/?\w+[^<]*>)/g;
place(reg, s => s.toUpperCase());
}
const str = "<p class='test' id='wise'>123 4>5<6 789<br>hello<span title='hello' style='width: 200px;height:100px;' src='//www.wisewrong/img/123.png'>world</span></p>"; superTrim(str);
// "<p class='test' id='wise'>123 4>5<6 789<br>HELLO<span title='hello' style='width: 200px;height:100px;' src='//www.wisewrong/img/123.png'>WORLD</span></p>"
重点在于正则的编写,这⾥推荐⼀个⼤佬⾃⼰做的专门
其次需要利⽤字符串的replace函数,当第⼀个⼊参是正则的时候,第⼆个参数可以⽤函数的形式来接受正则的匹配结果,且这个函数的返回值会⽤来替换被正则匹配到的字符串基于这个特性,只要正则匹配到了字符串,就可以随便处理了
这⾥只是举了全⼤写的例⼦,实际上还可以做简繁转换、⽂本格式化等复杂功能
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论