Oct
6

كيفية استخراج الرقم من السلسلة باستخدام PHP

10/06/2023 01:37 AM بواسطة Admin في Php


في PHP، يمكنك استخراج الأرقام من سلسلة باستخدام التعبيرات العادية والدالة preg_match_all(). فيما يلي مثال لكيفية استخراج كافة الأرقام من سلسلة:

$my_string = "There are 15 Oranges and 3 Bananas.";
preg_match_all('/[0-9]+/', $my_string , $matches);
print_r($matches[0]);

سيؤدي هذا إلى إخراج:

Array ( [0] => 15 [1] => 3 )

توضيح:

  • يبحث التعبير العادي /[0-9]+/ عن رقم واحد أو أكثر متتالية.
  • تقوم الدالة preg_match_all() بالبحث في السلسلة عن كافة تكرارات التعبير العادي وتخزن المطابقات في المصفوفة $matches.
  • يتم استخدام الدالة print_r() لعرض محتويات المصفوفة.

يمكنك أيضًا استخدام الدالة preg_replace() لإزالة الأحرف غير الرقمية من سلسلة والاحتفاظ بالأرقام فقط:

$string = "There are 15 Oranges and 3 Bananas.";
$numbers = preg_replace('/D/', '', $string);
echo $numbers;

سيؤدي هذا إلى إخراج:

15 3

توضيح:

  • يتطابق التعبير العادي /D/ مع أي حرف غير رقمي.
  • تستبدل الدالة preg_replace() جميع الأحرف غير الرقمية بسلسلة فارغة، مما يؤدي إلى إزالتها بشكل فعال من السلسلة.

هناك طريقة أخرى ولكنها ليست موثوقة مثل الخيارين المذكورين أعلاه. يمكننا استخدام وظيفة PHP المضمنة filter_var() لاستخراج int من السلسلة.

$string = "There are 15 Oranges and 3 Bananas.";
// extract numbers from string
$my_int = (int)filter_var($string ,FILTER_SANITIZE_NUMBER_INT);
echo $my_int;

سيؤدي هذا إلى إخراج:

153

افكارك

بحث
راعي
CRYPTOWATCH
تابعنا
الإعلانات

تمت إضافة أداة جديدة: حاسبة أبعاد تكبير SVG.

راعي