How can i convert English numbers being retrieved from the database to Arabic numeral symbols in PHP.
EDIT: Here're some examples of what Arabic numerals look like. I live in an Arab country, so please don't go around explaining to me what Arabic numerals look like. If you can help, good and well. I don't need bogus ideas.
http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Arabic_numerals-en.svg/500px-Arabic_numerals-en.svg.png
Arabic numbering rules Digits from zero to nine are specific words, namely sifr (صِفْرٌ) [0], wahid (وَاحِدٌ) [1], ithnan (اِثْنَانِ) [2], thalatha (ثَلَاثَةٌ) [3], arba'a (أَرْبَعٌ) [4], khamsa (خَمْسَةٌ) [5], sitta (سِتَّةٌ) [6], sab'a (سَبْعَةٌ) [7], thamaniya (ثَمَانِيَةٌ) [8], and tis'a (تِسْعَةٌ) [9].
Open an Office program file, such as a Word document. On the File tab, choose Options > Language. In the Set the Office Language Preferences dialog box, in the Editing Language list, choose the Arabic dialect you want, and then choose Add.
The numbers English speakers use every day, known as Arabic numerals, were developed in the Maghreb during the 10th century. They made their way into Europe through Arab scholars in Al-Andalus (modern-day Andalusia in Spain), hence they are called Arabic numerals.
If you are referring to what Wikipedia calls eastern arabic / indic numerals, a simple replace operation should do.
$western_arabic = array('0','1','2','3','4','5','6','7','8','9'); $eastern_arabic = array('٠','١','٢','٣','٤','٥','٦','٧','٨','٩'); $str = str_replace($western_arabic, $eastern_arabic, $str);
I wrote a couple of functions (gist.github.com) a while back.
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); }
Or you can just download and use this class from: http://www.phpclasses.org/package/6626-PHP-Convert-numbers-to-Arabic-representation.html (Tested and working). Cheers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With