如何解决Blogger中印地语句号「।」转码及点号替换为该符号的实现问题
问题修复方案
问题根源
Blogger平台默认会对模板、文章中插入的特殊非ASCII字符做HTML实体编码,直接在脚本字符串中写印地语句号「।」时,会被自动转义为।,导致替换逻辑无法正常生效。另外你原来使用的replace('.', '।')写法只会替换内容中第一个出现的点号,无法覆盖全部匹配项。
修正后代码
无需依赖jQuery,直接使用原生JS实现,避免外部资源依赖:
<textarea></textarea> <script> document.querySelector('textarea').addEventListener('keyup', function(e) { const currentVal = this.value; // \u0964 为印地语Viram符号的Unicode转义序列,不会被Blogger转义 // 正则/\./g匹配所有点号,实现全局替换而非仅替换第一个点号 const processedVal = currentVal.replace(/\./g, '\u0964'); this.value = processedVal; }); </script>
部署方法
将上述代码粘贴到Blogger后台「主题」-「编辑HTML」页面的</body>标签之前,保存后即可生效。如果你是要针对特定位置的文本框生效,可将querySelector的选择器替换为对应文本框的ID或类名即可。
内容的提问来源于stack exchange,提问作者Mohammad Suhail
相关产品推荐
相关产品推荐

