波斯语/阿拉伯数字要正确输出

时间:2010-02-13 23:35:54

标签: html css fonts persian

好的,可能你认为这个重复的问题,但我发誓不是。大声笑 你有一个文件输出如下:

<div id="first">1</div>
2
<div id="third">
    <? $i = 3; echo(i) ?>
</div>

哪个输出:

1
2
3

现在,如果我想要输出如下:

?
?
?

嗯,我希望我能把1,2,3的阿拉伯语/波斯语版本放在'?'上。这让我疯了, Q1:我如何使用HTML / CSS将数字转换为阿拉伯语/波斯语?

Q2:为什么当我改变语言(winxp)时,除了数字之外一切都会发生变化?

5 个答案:

答案 0 :(得分:4)

如果您想为列表编号,可以使用ol元素并将其更改为list-style-type,如:

ol {
    list-style: arabic-indic;
}

答案 1 :(得分:3)

扩展了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);

答案 2 :(得分:1)

  1. 没有自动更改数字甚至数字的方法。设置之间的映射并手动转换。

  2. 数字永远不会被本地化,因为与自然语言单词不同,阿拉伯数字在世界大部分地区都被理解。

答案 3 :(得分:1)

使用此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);

答案 4 :(得分:1)

只需使用CSS:

ol {
    list-style-type:persian
}