如何在Blogger平台将।转换为印地语句号Purnviram(।)
问题原因
Blogger平台会自动对嵌入代码内的非ASCII特殊字符做HTML实体编码,你代码里硬编码的印地语句号।会被转义为।实体文本,所以替换后无法输出预期字符。
可行解决方案
方案1:使用Unicode编码指代目标字符(最简便)
।(Purnviram/Danda)对应的Unicode编码是\u0964,直接修改替换逻辑里的硬编码字符即可,同时可以添加全局匹配规则替换所有英文句号:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(function() { $('textarea').on("keyup", function(e) { var val = $(this).val(); // 用Unicode编码避免被平台转义,加g实现全局替换所有句号 var str = val.replace(/\./g, '\u0964'); $(this).val(str); }); }); </script> <textarea></textarea>
方案2:解码已生成的HTML实体
如果你的场景里已经存在被转义生成的।文本,可以通过临时DOM元素解析实体编码还原为原字符:
function decodePurnviram(text) { const tempEle = document.createElement('div'); tempEle.innerHTML = text; return tempEle.textContent || tempEle.innerText; } // 调用示例:decodePurnviram('।') 会返回 "।"
内容的提问来源于stack exchange,提问作者Mohammad Suhail
相关产品推荐
相关产品推荐

