20

右から左へのHTMLページがあります。Doctypeを使用しない場合、番号はアラビア語/ペルシア語ですが、厳密モードを使用すると英語になります。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Final//EN">

Doctypeを追加する前に:

Doctypeを追加する前

doctypeを追加した後:

Doctypeを追加した後

また、これらのメタタグを自分のページに追加しました。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fa" />

では、厳密なDoctypeを持つページでアラビア数字を表示するにはどうすればよいですか(Firefoxはアラビア数字を表示しないためIEで)?

4

10 に答える 10

10

これは、1234 文字列を ١٢٣٤ 文字列に変換する小さな JavaScript コードです。

   var map =
    [
    "&\#1632;","&\#1633;","&\#1634;","&\#1635;","&\#1636;",
    "&\#1637;","&\#1638;","&\#1639;","&\#1640;","&\#1641;"
    ];

    function getArabicNumbers(str)
    {
        var newStr = "";

        str = String(str);

        for(i=0; i<str.length; i++)
        {
            newStr += map[parseInt(str.charAt(i))];
        }

        return newStr;
    }
于 2012-04-02T21:55:15.623 に答える
3

XHTML 1.0 Strict ドキュメントが必要であると仮定します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fa" lang="fa" dir="rtl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Title here</title>
  </head>

  <body>
    <p>Text here</p>
  </body>
</html>

同等の HTML 4.01 Strict ドキュメントを次に示します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fa" dir="rtl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Title here</title>
  </head>

  <body>
    <p>Text here</p>
  </body>
</html>

比較のために、同等の HTML5 ページを次に示します。

<!DOCTYPE html>
<html lang="fa" dir="rtl">
  <head>
    <meta charset="UTF-8" />
    <title>Title here</title>
  </head>

  <body>
    <p>Text here</p>
  </body>
</html>
于 2011-04-12T20:00:14.883 に答える
2

この設定を変更するには、Firefox のデフォルトのレンダリング番号をラテン語にします。この設定を変更するには、Firefox のアドレスバーに移動して、about:config と入力します。テキストは文脈を見てください。テキストがペルシア語の場合、番号をペルシア語にレンダリングします。値を「4」に設定すると、常に桁数がペルシア語に変換されます

于 2012-06-20T03:38:08.790 に答える
1

This works for me, regardless of the text direction (in Chrome, Safari, Firefox and Opera):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Final//EN">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style type="text/css">
            body { direction: rtl; }
        </style>
    </head>

    <body>
        ۴۲
    </body>
</html>

(Omitted the content-language since that isn’t necessary here.)

于 2011-04-12T14:31:16.990 に答える
1
var map_format_arabic = ["&\#1632;","&\#1633;","&\#1634;","&\#1635;","&\#1636;", "&\#1637;","&\#1638;","&\#1639;","&\#1640;","&\#1641;"];

$.each( $('.format_arabic'), function () {
    var n=$(this).text().replace(/\d(?=[^<>]*(<|$))/g, function($0) { return map_format_arabic[$0]});
    $(this).html(n);
});
于 2014-12-24T21:28:45.720 に答える
1

「BNazanin」のようなペルシア語フォントを使用して次のように書く場合:

http-equiv="Content-Type" content="text/html; charset=UTF-8"
そしてhttp-equiv="Content-Language" content="fa"メタタグで。

その後、ペルシア語で数字を見ることができます。

HTMLページのいくつかのタグで使用するとlang='En'、そのタグの数字は英語で表示されます。

于 2013-10-02T07:19:57.840 に答える