Определения
- Западные арабские цифры: «1234567890».
- Восточные арабские цифры: «١٢٣٤٥٦٧٨٩٠».
Ответ
Я написал пару функций (gist.github.com) некоторое время назад.
echo arabic_w2e("1234567890"); // Outputs: ١٢٣٤٥٦٧٨٩٠
echo arabic_e2w("١٢٣٤٥٦٧٨٩٠"); // Outputs: 1234567890
Код
<?php
/**
* Converts numbers in string from western to eastern Arabic numerals.
*
* @param string $str Arbitrary text
* @return string Text with western Arabic numerals converted into eastern Arabic numerals.
*/
function arabic_w2e($str)
{
$arabic_eastern = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
$arabic_western = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
return str_replace($arabic_western, $arabic_eastern, $str);
}
/**
* Converts numbers from eastern to western Arabic numerals.
*
* @param string $str Arbitrary text
* @return string Text with eastern Arabic numerals converted into western Arabic numerals.
*/
function arabic_e2w($str)
{
$arabic_eastern = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
$arabic_western = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
return str_replace($arabic_eastern, $arabic_western, $str);
}