将英文数字转换为阿拉伯数字
如何将从数据库检索到的英文数字转换为 PHP 中的阿拉伯数字符号。
编辑:以下是阿拉伯数字的一些示例。我住在阿拉伯国家,所以请不要到处向我解释阿拉伯数字是什么样子。如果你能帮忙,那就太好了。我不需要虚假的想法。
How can i convert English numbers being retrieved from the database to Arabic numeral symbols in PHP.
EDIT: Here're some examples of what Arabic numerals look like. I live in an Arab country, so please don't go around explaining to me what Arabic numerals look like. If you can help, good and well. I don't need bogus ideas.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果您指的是维基百科所说的东方阿拉伯/印度数字,则应该执行简单的替换操作。
If you are referring to what Wikipedia calls eastern arabic / indic numerals, a simple replace operation should do.
定义
我写的答案
几个函数(gist.github.com) 不久前。
演示(3v4l.org)
代码
Definitions
The answer
I wrote a couple of functions (gist.github.com) a while back.
Demo (3v4l.org)
Code
或者您可以从以下位置下载并使用此类: http://www.phpclasses.org/package/6626-PHP-Convert-numbers-to-Arabic-representation.html(已测试且有效)。干杯。
Or you can just download and use this class from: http://www.phpclasses.org/package/6626-PHP-Convert-numbers-to-Arabic-representation.html (Tested and working). Cheers.
我建议您尝试使用不同语言的资源文件,特别是在内容已知的情况下。
例子:
2 个语言文件,其中 1 个名为 language_EN,另一个名为 language_AR
其中 langauge_EN 是用英语存储值,而 language_AR 是用阿拉伯语存储值。
例如,您想将数字“1”存储
在 langauge_EN 中,请执行以下操作。
number.one=1
然后在 langauge_AR 中,(假设 x 是阿拉伯语中的数字“1”,但我猜 unicode 是首选)
number.one=x
所以在你从数据库检索并知道它是数字之后,
你的原始结果是“一”。
所以使用 number.+[result from database] 从 langauage_AR 加载
这种方法在允许切换语言的网页中使用相当广泛。
因此,任何时候您需要转换回英语,只需改回 language_EN 即可。
这不仅适用于数字。
幸运之神
I would suggest u to try using resource file for different language especially if the contents are known.
Example:
2 file language files, 1 named language_EN, another language_AR
where langauge_EN is to store the values in english, and language_AR for arabic.
so for instance u want store the number "1"
in langauge_EN, do something like this.
number.one=1
then in langauge_AR, (pretend x is the number "1" in arabic, but I guess unicode is preferred)
number.one=x
so after u retrieve from database and knowing that it is number,
your raw result comes out to be "one".
so use number.+[result from database] to load from the langauage_AR
This method is quite widely used in webpages which allow toggling of language.
So at any time u need to convert back to english, just change back to language_EN.
This works not only for number.
Gd Luck
阿拉伯数字:
波斯数字:
Arabic Numbers:
Persian Numbers:
您是否正在尝试将例如 69 转换为 กกรรรรรร ?尝试是否可以调用 Google 翻译服务或其他翻译服务。否则,您应该编写自己的数字解析器并使用您的阿拉伯语言知识来翻译它到阿拉伯语。 (但是使用翻译服务会容易得多。)(话又说回来,PHP 可能已经有一个以正确方式写出数字和数字的函数。)
Are you trying to convert e.g. Sixty-nine to تسعة وستون? Try if you can call the Google Translate service or another translation service. Otherwise, you should write your own numeral parser and use your knowledge of the Arabic language to translate it to Arabic. (But using a translation service would be a lot easier.) (Then again, PHP might already have a function that writes out numbers and digits in the proper way.)
使用 strtr 的简单解决方案:
从东阿拉伯语转换为阿拉伯语:
Simple solution with strtr:
To convert from Eastern Arabic to Arabic: