شناسایی اعداد از متن یونیکد

۲ سال پیش(به روز شده در ۱۲ ماه پیش) پی اچ پی(PHP)(توابع) ۰

روشهای رایج همگی جهت شناسایی اعداد یک رشته روش زیر را پیشنهاد میکنند:

preg_match_all('!\d+!', $str, $matches);

اما روش فوق برای رشته های یونیکد مثلا UTF-8 جواب نمیدهد و نتیجه درستی ندارد و کافیست امتحان کنید. اما تابع زیر برای هر نوع رشته ای، اعداد را پیدا کرده و بصورت آرایه بر میگرداند.

function unicodeStrDigits($str) {
    $arr = array();
    $sub = '';
    for ($i = 0; $i < strlen($str); $i++) { 
        if (is_numeric($str[$i])) {
            $sub .= $str[$i];
            continue;
        } else {
            if ($sub) {
                array_push($arr, $sub);
                $sub = '';
            }
        }
    }
 
    if ($sub) {
        array_push($arr, $sub); 
    }
 
    return $arr;
}

روش دیگر:

$res = array();
$str = 'test 1234 555 2.7 string ..... 2.2 3.3';
$str = preg_replace("/[^0-9\.]/", " ", $str);
$str = trim(preg_replace('/\s+/u', ' ', $str));
$arr = explode(' ', $str);
for ($i = 0; $i < count($arr); $i++) {
    if (is_numeric($arr[$i])) {
        $res[] = $arr[$i];
    }
}
print_r($res); //Array ( [0] => 1234 [1] => 555 [2] => 2.7 [3] => 2.2 [4] => 3.3 )

اطلاعات بیشتر

برچسبها

digits php تابع

صفحات پیشنهادی

تبدیل رشته به فرمت خاص...

با استفاده از تابع زیر رشته مورد نظر را به فرمت خاص تبدیل نمایید. این تابع برای تبدیل شماره تلفنها و ... مناسب است. به مثال مورد نظر توجه نمایید......

بررسی صحت ایمیل از نظر ساختار...

با توجه به کد زیر اگر ایمیل از لحاظ ساختار صحیح باشد مقدار True و در غیر این صورت مقدار False را بر می گرداند. به ساختار خوب توجه کنید! function valid_email($email) { return preg_match('/^([a-z...

تابع حذف فایل در صورت وجود...

تابع زیر فرآیند ساده‌ای دارد. ابتدا بررسی می کند که آیا فایل وجود دارد یا خیر. در صورت وجود آنرا حذف می‌کند. function delFile( $file_name ) { if ( file_exists( $file_name ) ) // Does '$fi...

تابع کامل کننده تگهای شکسته(close dangling tags)...

گاهی اوقا پیش می آید که در هنگام انتخاب متن html انتهای تگ در متن نباشد و یا به اصطلاح تگها پایان نداشته باشند. برای این منظور تابع زیر تگهای ناقص را شناسایی نموده و انتهای آنها را در آخر متن اضافه می...

نظر

نظری ثبت نشده است.
captcha image reload