В этой статье блога мы рассмотрим различные методы преобразования персидских, арабских, персидских десятичных и арабских десятичных чисел в английские числа с помощью PHP. Мы предоставим примеры кода и пояснения для каждого метода, чтобы вам было проще реализовать желаемое преобразование в ваших проектах.
Метод 1. Сопоставление символов
Один из подходов заключается в сопоставлении персидских и арабских символов с соответствующими английскими цифрами. Вот пример:
function convertToEnglish($number) {
$persianToEnglish = array(
'۰' => '0',
'۱' => '1',
'۲' => '2',
'۳' => '3',
'۴' => '4',
'۵' => '5',
'۶' => '6',
'۷' => '7',
'۸' => '8',
'۹' => '9'
);
$englishNumber = strtr($number, $persianToEnglish);
return $englishNumber;
}
$persianNumber = '۱۲۳۴۵';
$englishNumber = convertToEnglish($persianNumber);
echo $englishNumber; // Output: 12345
Метод 2: использование расширения Intl
Другой подход — использовать класс NumberFormatter, предоставляемый расширением Intl. Это расширение предоставляет комплексные возможности локализации и форматирования чисел. Вот пример:
function convertToEnglish($number) {
$formatter = new NumberFormatter("en", NumberFormatter::DECIMAL);
$englishNumber = $formatter->parse($number);
return $englishNumber;
}
$persianNumber = '۱۲۳۴۵';
$englishNumber = convertToEnglish($persianNumber);
echo $englishNumber; // Output: 12345
Метод 3: регулярные выражения
Вы также можете использовать регулярные выражения для замены персидских и арабских цифр их английскими аналогами. Вот пример:
function convertToEnglish($number) {
$englishNumber = preg_replace_callback('/[\x{0660}-\x{0669}\x{06F0}-\x{06F9}]/u', function ($matches) {
$persianToEnglish = array(
'۰' => '0',
'۱' => '1',
'۲' => '2',
'۳' => '3',
'۴' => '4',
'۵' => '5',
'۶' => '6',
'۷' => '7',
'۸' => '8',
'۹' => '9'
);
return $persianToEnglish[$matches[0]];
}, $number);
return $englishNumber;
}
$persianNumber = '۱۲۳۴۵';
$englishNumber = convertToEnglish($persianNumber);
echo $englishNumber; // Output: 12345
В этой статье блога мы рассмотрели три метода преобразования персидских, арабских, персидских десятичных и арабских десятичных чисел в английские числа с помощью PHP. Метод сопоставления символов, метод расширения Intl и метод регулярных выражений предоставляют различные параметры в зависимости от ваших предпочтений и требований проекта. Эти методы позволяют легко преобразовывать числа между различными системами счисления, обеспечивая лучшую совместимость и понимание, несмотря на языковые барьеры.
Не забудьте выбрать метод, который соответствует вашим конкретным потребностям, и соответствующим образом интегрировать его в свой PHP-код. Наслаждайтесь преобразованием чисел без особых усилий!