php – 为什么阿拉伯数字(123)在文本框中不被接受为实数?

在开发我的一个网站时,我注意到,如果我输入阿拉伯数字(123),它们不会被解释为实数值.然后,我测试了其他几个网站,只发现他们也不接受阿拉伯数字.

问题是,我的客户端似乎需要这个功能(接受阿拉伯数字)..我不知道从哪里开始.我的平台是magento(PHP).

最佳答案
要允许PHP接受阿拉伯数字或波斯数字(波斯)(12345),
我开发了这个简单的功能:

<?php

/*
/////////////////////
This function has been created by Abdulfattah alhazmi
Roles:
To convert Arabic/Farsi Numbers (٠‎ - ١‎ - ٢‎ - ٣‎ - ٤‎ - ٥‎ - ٦‎ - ٧‎ - ٨‎ - ٩‎) 
TO the corrosponding English numbers (0-1-2-3-4-5-6-7-8-9)
http://hazmi.co.cc
/////////////////////
*/

function convertArabicNumbers($arabic) {
    $trans = array(
        "&#1632;" => "0",
        "&#1633;" => "1",
        "&#1634;" => "2",
        "&#1635;" => "3",
        "&#1636;" => "4",
        "&#1637;" => "5",
        "&#1638;" => "6",
        "&#1639;" => "7",
        "&#1640;" => "8",
        "&#1641;" => "9",
    );
    return strtr($arabic, $trans);
}
?>

注意:要从表单中的文本字段获取正确的结果,您必须使用htmlspecialchars_decode()功能.例如:

$mytext = htmlspecialchars_decode($_POST['mytext']));
$mytext = convertArabicNumbers($mytext);

为了保护您的代码安全,请添加strip_tags().例如:

$mytext = strip_tags(htmlspecialchars_decode($_POST['mytext']));
$mytext = convertArabicNumbers($mytext);

请不要犹豫,问我有关此功能的其他问题.

转载注明原文:php – 为什么阿拉伯数字(123)在文本框中不被接受为实数? - 代码日志