我想使用php将阿拉伯数字改为英文,数字也有一些字符串。
这是我需要改变的地方:(abc12:12:00abc123)到(abc12:12:00abc123)。
我试过这个功能:
function convert($string) {
$arabic = array('۰', '۱', '۲', '۳', '٤', '۵', '٦', '۷', '۸', '۹');
$num = range(0, 9);
return str_replace($arabic, $num, $string);
}
上面的代码会更改最后3个数字,但不会更改冒号之间的数字。
请帮帮我。
答案 0 :(得分:-2)
我找到了你的问题。 字母串中的NUM个字母:abc12:12:00abc123 是阿拉伯语但功能 $ arabic = array('0','1','2','3','4','5','6','7','8','9'); 你使用波斯语alfabet。 我一起纠正你的阿拉伯语和波斯语代码
function convert($string) {
$num = range(0, 9);
$string = str_replace(
array('۰', '۱', '۲', '۳', "۴", "۵", "۶", "۷", "۸", "۹"),
array('٠', '١', '٢', '٣', "٤", "٥", "٦", "٧", "٨", "٩"),
$string
);
return str_replace(
array('٠', '١', '٢', '٣', '٤', '۵', '٦', '۷', '۸', '۹'),
$num,
$string
);
}