您有一个这样输出的文件:
<div id="first">1</div>
2
<div id="third">
<? $i = 3; echo(i) ?>
</div>
哪个输出:
1
2
3
现在,如果我想得到如下输出:
?
?
?
好吧,我希望我可以输出 1,2,3 的阿拉伯语/波斯语版本而不是“?”。如何使用 HTML/CSS 将数字转换为阿拉伯语/波斯语?
为什么当我更改语言(Windows XP)时,除了数字之外的一切都发生了变化?
如果要对列表进行编号,可以使用一个ol
元素并将其更改为list-style-type
:
ol {
list-style: arabic-indic;
}
扩展了上面 ShirzITCo 和 Kirk Woll 的回答——这救了我,但是当客户决定 WordPress CMS 中的所有内容应该使用东方阿拉伯数字而不是西方阿拉伯数字时,他们开始使用:
function recursiveReplace(node) {
if (node.nodeType === 3) { // text node
node.nodeValue = node.nodeValue
.replace(/0/g,'۰')
.replace(/1/g,'۱')
.replace(/2/g,'۲')
.replace(/3/g,'۳')
.replace(/4/g,'۴')
.replace(/5/g,'۵')
.replace(/6/g,'۶')
.replace(/7/g,'۷')
.replace(/8/g,'۸')
.replace(/9/g,'۹');
} else if (node.nodeType === 1) { // element
$(node).contents().each(function () {
recursiveReplace(this);
});
}
}
recursiveReplace(document.body);
没有自动更改数字甚至数字的方法。在 then 之间设置映射并手动转换。
数字永远不会本地化,因为与自然语言单词不同,阿拉伯数字在世界大部分地区都可以理解。
使用以下 JavaScript 代码。这将替换数字:
function recursiveReplace(node) {
if (node.nodeType == 3) { // text node
node.nodeValue = node.nodeValue.replace("1", "۱");
} else if (node.nodeType == 1) { // element
$(node).contents().each(function () {
recursiveReplace(this);
});
}
}
recursiveReplace(document.body);
只需使用 CSS:
ol {
list-style-type: persian
}