if (preg_match_all("/!ban ........./i", "!ban 401662529", $arr)) {
$k = var_dump($arr);
var_export($k);
}
Вот тут я получил массив ($arr[0]), что равно !ban 40166252,
Ожидаемый результат:
Array {
[0] => "!ban"
[1] => "40166252"
}
Полученный:
Array {
[0] => "!ban 40166252"
}
Используйте захватывающие подмаски, (!ban)\s+(\d+)
:
if (preg_match_all("/(!ban)\s+(\d+)/i", "!ban 401662529", $arr, PREG_SET_ORDER, 0)) {
array_shift($arr[0]);
print_r($arr[0]);
}
// = Array ( [0] => !ban [1] => 401662529 )
См. демо на PHP.
Подробности
(!ban)
- Захватывающая подмаска №1: строка !ban
\s+
- 1 и более пробельных символов(\d+)
- Захватывающая подмаска №2: одна и более цифр.Аргумент PREG_SET_ORDER
группирует совпадения с захваченными подстроками, а array_shift
удаляет полное совпадение.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У на есть рандомное число, например 03198319 (количество символов также всегда разное)Как разделить его на числа и добавить их в массив, используя...
Посоветуйте платёжную систему, чтобы на сайте можно было рассчитываться кредитной картой и аудитория сайта будет зарубежная (Европа, США)Плагин...