В мире PHP регулярные выражения (regex) — это мощные инструменты для сопоставления с образцом и извлечения данных. Если вы хотите извлекать числа из строк в PHP, вы попали по адресу! В этой статье мы рассмотрим несколько практических методов, используя повседневный язык и примеры кода, которые помогут вам легко выполнить эту задачу.
Методы извлечения чисел с помощью PHP Regex:
Метод 1: использование функции preg_match_all()
$string = "I have 10 apples and 5 oranges.";
preg_match_all('/\d+/', $string, $matches);
$numbers = $matches[0];
Объяснение: Этот метод использует функцию preg_match_all(), которая ищет все вхождения одной или нескольких цифр (\d+) во входной строке. Совпавшие числа хранятся в массиве $matches, и мы можем получить к ним доступ с помощью $matches[0].
Метод 2: использование функции preg_replace()
$string = "I bought 3 books for $50 each.";
$numbers = preg_replace('/[^0-9]/', '', $string);
Объяснение: Здесь мы используем функцию preg_replace()для удаления всех нечисловых символов ([^0-9]) из строки. Результирующая строка будет содержать только те числа, которые нам нужны.
Метод 3: использование функции preg_split()
$string = "The temperature is -5 degrees Celsius.";
$numbers = preg_split('/[^0-9-]+/', $string);
Объяснение: используя preg_split(), мы разбиваем строку на основе нечисловых символов ([^0-9-]). Этот метод сохраняет отрицательные числа и отделяет их от остального текста.
Метод 4: использование функции preg_match()
$string = "The code is 1234.";
preg_match('/\d+/', $string, $match);
$number = $match[0];
Объяснение: С помощью preg_match()мы ищем первое вхождение одной или нескольких цифр (\d+) во входной строке. Соответствующее число хранится в массиве $match, и мы можем получить к нему доступ, используя $match[0].
Метод 5: использование функции filter_var()
$string = "The quantity is 7.";
$number = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
Объяснение: В этом методе мы используем функцию filter_var()с фильтром FILTER_SANITIZE_NUMBER_INTдля удаления всех нечисловых символов из строки. Результирующая строка содержит только цифры.
Используя эти различные методы, вы можете легко извлекать числа из строк с помощью регулярных выражений PHP. Предпочитаете ли вы гибкость preg_match_all(), простоту preg_replace(), универсальность preg_split()или удобство 22и filter_var(), теперь в вашем распоряжении разнообразный набор инструментов. Приятного кодирования!