php - 将波斯/阿拉伯数字转换为英文数字

标签 php unicode

如何使用简单的函数将波斯语/阿拉伯语数字转换为英语数字

波斯/阿拉伯数字:

۰   //  -> 0
۱   //  -> 1
۲   //  -> 2
۳   //  -> 3
۴   //  -> 4
۵   //  -> 5
۶   //  -> 6
۷   //  -> 7
۸   //  -> 8
۹   //  -> 9

unicode 上的数字:

$num0="۰";
$num1="۱";
$num2="۲";
$num3="۳";
$num4="۴";
$num5="۵";
$num6="۶";
$num7="۷";
$num8="۸";
$num9="۹";

最佳答案

这是一个简短的函数:

function convert($string) {
    $persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    $arabic = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];

    $num = range(0, 9);
    $convertedPersianNums = str_replace($persian, $num, $string);
    $englishNumbersOnly = str_replace($arabic, $num, $convertedPersianNums);
    
    return $englishNumbersOnly;
}

您可以使用 unicode 而不是 $persian 中的字符(我认为)。

关于php - 将波斯/阿拉伯数字转换为英文数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766726/

相关文章:

php - Opencart - 仅更改产品页面的标​​题

php - 剥离危险的 html 标签、mysql 注入(inject)并在 php 中保留 'good' 标签的最佳方法

PHPUnit RabbitMQ : write test for create connection function

php - drupal 如何选择处理表单提交的函数?

PHP 注入(inject)另一个用户 session

java - 如何确定字符串是否包含无效的编码字符

java - 将字节数组转换为可理解的字符串

python - MySQLdb/Python : Can't insert certain characters in the db

unicode - 自动检测字符编码的 findstr 或 grep (UTF-16)

java - 避免在 Java 中打印 unicode 替换字符