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

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

其产出:

1
2
3

现在如果我想要有一个输出如下:

?
?
?

嗯,我希望我可以把阿拉伯文/法西语版的1,2,3,而不是'?'.这是我发疯, 问题1:我如何可以使用HTML/CSS转换为数字以阿拉伯语/语?

问题2:为什么到底当时我改变我的语言(winxp),一切都改变,除了数字?

有帮助吗?

解决方案

  1. 没有自动的方式要改变数字,甚至数字。设立了一个之间的映射,然后转换手动。

  2. 数字是从来没有局部的,因为不同于自然语言的话,阿拉伯数字是理解全世界大多数国家。

其他提示

如果你想数的列表,你可以使用一个ol元素和改变的list-style-type 喜欢:

ol {
    list-style: arabic-indic;
}

扩大对ShirzITCo和Kirk沃尔的回答以上 - 这救了我,但是当客户决定在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);

使用此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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top