我想将 html 内容中的每个数字都转换为波斯数字,而不会对页面元素产生其他影响。
例如:
<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>
转换为:
<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');
谢谢。
最佳答案
您可以使用此方法:( 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]);
}
}
关于javascript - 如何将正文中的数字替换为波斯数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247405/