如何将正文中的数字替换为波斯数字?
I want to convert every number in the html content to Persian numerals without other effects on page elements.
For example:
<div style='color: #c2c2c2'>
text number 1
<span>text number 2</span>
<div>
text number 3
<b>text number 4</b>
<a href='#page2'>text number 5</a>
</div>
</div>
be converted to:
<div style='color: #c2c2c2'>
text number ۱
<span>text number ۲</span>
<div>
text number ۳
<b>text number ۴</b>
<a href='#page2'>text number ۵</a>
</div>
</div>
let persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
let english = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
Thanks.
解决方案You can use this method: (http://jsfiddle.net/A4NfG/1/)
persian={0:'۰',1:'۱',2:'۲',3:'۳',4:'۴',5:'۵',6:'۶',7:'۷',8:'۸',9:'۹'};
function traverse(el){
if(el.nodeType==3){
var list=el.data.match(/[0-9]/g);
if(list!=null && list.length!=0){
for(var i=0;i<list.length;i++)
el.data=el.data.replace(list[i],persian[list[i]]);
}
}
for(var i=0;i<el.childNodes.length;i++){
traverse(el.childNodes[i]);
}
}
相关文章