如何修改正则代码,统计包含HTML<br/>标签的字符总数?
解决方案
要实现保留<br/>标签的字符统计(同时移除其他HTML标签),核心思路是先单独处理<br/>标签,再删除其余HTML标签,避免把<br/>和其他标签一起清空。
实现步骤
- 先把所有
<br/>(包括<br>这种简写形式)替换成一个你希望计入统计的字符(比如换行符\n,占1个字符;如果需要每个<br/>对应多个字符,可换成其他字符串)。 - 用正则删除剩余的所有HTML标签。
- 处理HTML实体(如
、&)。 - 统计最终字符串的长度。
代码示例
// 原始字符串 let string_variable = "ABC<br/><br/>DEC"; // 处理流程 let processedStr = string_variable // 匹配所有<br/>或<br>标签,替换为换行符(每个占1个字符) .replace(/<br\s*\/?>/gi, '\n') // 删除所有剩余的HTML标签 .replace(/<[^>]*>/g, '') // 替换HTML实体 .replace(/ /g, ' ') .replace(/&/g, '&'); // 输出统计长度 alert(processedStr.length);
自定义调整
如果你希望每个<br/>对应更多字符,可修改替换的目标字符串:
- 若要每个
<br/>占2个字符,替换为"\n "; - 若要保留
<br/>完整标签的5个字符计数,可跳过第一步替换,直接删除除<br/>外的其他标签:let processedStr = string_variable .replace(/<(?!br\s*\/?>)[^>]*>/gi, '') .replace(/ /g, ' ') .replace(/&/g, '&'); alert(processedStr.length);
内容的提问来源于stack exchange,提问作者Christopher
相关产品推荐
相关产品推荐

