Convert Persian, English, and Arabic numbers easily with this web-based converter.
<?php
if (!class_exists('convert_numbers')) {
class convert_numbers
{
private $arabic_numbers = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩', '٫');
private $farsi_numbers = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹', '٫');
private $english_numbers = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.');
private $string = '';
public function __construct($string = '')
{
$this->string = $string;
}
public function set($string = '')
{
$this->string = $string;
}
public function to_farsi()
{
$farsi = $this->arabic_to_farsi($this->english_to_farsi($this->string));
return $farsi;
}
public function to_arabic()
{
$farsi = $this->farsi_to_arabic($this->english_to_arabic($this->string));
return $farsi;
}
public function to_english()
{
$farsi = $this->arabic_to_english($this->farsi_to_english($this->string));
return $farsi;
}
private function arabic_to_farsi($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->arabic_numbers, $this->farsi_numbers, $string);
}
private function farsi_to_arabic($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->farsi_numbers, $this->arabic_numbers, $string);
}
private function english_to_farsi($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->english_numbers, $this->farsi_numbers, $string);
}
private function farsi_to_english($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->farsi_numbers, $this->english_numbers, $string);
}
private function english_to_arabic($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->english_numbers, $this->arabic_numbers, $string);
}
private function arabic_to_english($string = '')
{
if (empty($string)) $string = $this->string;
return str_replace($this->arabic_numbers, $this->english_numbers, $string);
}
}
}
$convert_numbers = new convert_numbers('2018-07-18');
echo $convert_numbers->to_farsi(); // ۲۰۱۸-۰۷-۱۸
echo $convert_numbers->to_arabic(); // ٢٠١٨-٠٧-١٨
$convert_numbers->set('١٤٣٩/١١/٠٤');
echo $convert_numbers->to_farsi(); // ۱۴۳۹/۱۱/۰۴
echo $convert_numbers->to_english(); // 1439/11/04
$convert_numbers->set('۱۳۹۷/۰۴/۲۷');
echo $convert_numbers->to_arabic(); // ١٣٩٧/٠٤/٢٧
echo $convert_numbers->to_english(); // 1397/04/27
?>