Как в строке
Заявка: № 142898 от Аптека №Дн028 бла-бла-бла
вырезать цифры после № (может быть или нет пробел, цифр может быть от 6 до 8)?
Пробую
$arTask['TITLE'] = "Заявка: № 142898 от Аптека №Дн028 бла-бла-бла";
preg_match_all('/№\s(\d[6,8])/iu', $arTask['TITLE'], $OUT, PREG_SET_ORDER);
print_r($OUT)
получаю пустой массив.
Можно получить результат с помощью
$arTask = "Заявка: № 142898 от Аптека №Дн028 бла-бла-бла";
if (preg_match_all('/№\s*\K\d{6,8}/u', $arTask, $OUT)) {
print_r($OUT[0]);
}
См. демо-код на PHP. Если количество цифр от 6 и выше, можно удалить восьмёрку: '/№\s*\K\d{6,}/u'
.
См. демо регулярного выражения.
Подробности
№
- символ №
\s*
- 0 и более пробельных символов\K
- оператор, удаляющий весь текст из текущего буфера совпадения\d{6,8}
- от 6 до 8 цифр (если заменить на плюс — 1 и более цифр)Можно так же с помощью preg_replace()
$str = 'Заявка: № 142898 от Аптека №Дн028 бла-бла-бла';
echo preg_replace('~.+№\s?(\d{6,8}).+~', '$1', $str);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Поиск выводит только полное совпадение в ячейке, не могу найти как искачь по части иекста (например 4-5 символов и чтобы нашло все ячейки в которых...
Сделал по данному примеру https://gostashit/ru/stashes/1533-podklucenie-k-serveru-websocket-iz-web-prilozenia Сервер запускается,