我写了这个函数来将波斯数字转换为英文数字,但它返回给我与输入数字(波斯语)相同。
它包含一个波斯数字数组,我定义了一个范围,如波斯数,我想用str_replace函数替换英语的波斯语数
function convert($string) {
$persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
$num = range(0, 9);
$englishNumbersOnly = str_replace($persian, $num, $string);
return $englishNumbersOnly;
}
答案 0 :(得分:0)
如果你想打印数字波斯语,你必须使用字体波斯语...例如你可以使用WYekan字体。
<?php
$number =1234;
?>
<p style="font-family: WYekan;"><?php echo $number ?></p>
答案 1 :(得分:0)
<?php
$converted=convert('Any String as Input');
echo $converted;
function convert($string) {
$persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
$num = range(0, 9);
$englishNumbersOnly = str_replace($persian, $num, $string);
return $englishNumbersOnly;
}
?>
答案 2 :(得分:0)
感谢@meykan-jain 的回答,解析阿拉伯语和波斯语都使用这个:
function parseNumber($string) {
$persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
$arabic = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
$num = range(0, 9);
$englishNumbersOnly = str_replace($persian, $num, $string);
$englishNumbersOnly = str_replace($arabic, $num, $englishNumbersOnly);
return $englishNumbersOnly;
}