发现很多关于“如何获取最后一个字符串”的问题,但没有关于“怎么做不到它”,这是我的问题
我正在使用表情符号,我想将字符串的每个表情符号(<img>
)计为一个字符,这样我就可以获得正确的字符串长度。
替换时,它会找到开头(<img
),但是最后一个部分(>
)被捕获,而不是第一个关闭第一个<img
} tag。
这是我的代码(没有不必要的东西):
var typed = $(this).html();
var matches = typed.match(/\<img.*:"\>/g);
if (matches != null) {
for (var i = 0; i < matches.length; i++) {
console.log('Match ' + i + ': ' + matches[i]);
}
}
日志结果如下:
Match 0: <img src="/platform/resources/plugins/emoji-area/img/joy.png" class="img" alt=":joy:"><img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:"><img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">
但它应该是:
Match 0: <img src="/platform/resources/plugins/emoji-area/img/joy.png" class="img" alt=":joy:">
Match 1: <img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">
Match 2: <img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">
如何修复它以使每个<img>
分开?