比如这里有一段文字:
<p id="content">
<p>中Mìng-dĕ̤ng-ngṳ̄ Mir日本語an국dés, Bân-lâm-gú / Hō-ló-oē文,한국어,日,本1+2=3!@#語。</p>
</p>
现在的需求是,经过处理后,这段文字变成这样:
<p id="content">
<p><span class="full">中</span><span class="semi">Mìng-dĕ̤ng-ngṳ̄ Mir</span><span class="full">日本語</span><span class="semi">an</span><span class="full">국</span><span class="semi">dés, Bân-lâm-gú / Hō-ló-oē</span><span class="full">文,한국어,日</span><span class="semi">,</span><span class="full">本</span><span class="semi">1+2=3!@#</span><span class="full">語。</span></p>
</p>
就是将连续的半角字符和全角字符分别用<span>
包裹起来,只不过全角字符的class
为"full"
,半角为"semi"
。
请问有什么好办法解决吗?
怪我咯2017-04-11 11:49:45
如果只是为了样式,如果只是针对字体设置,可以使用CSS中新添加的unicode-range。
其它情况的话,必须要用JavaScript(浏览器前端)或者后端负责渲染的引擎来判断字符范围再进行HTML的构造。