Как с помощью RegExp отфильтровать артикул товара (#КЛП1483П1)?
Есть артикул товара (#КЛП1483П1) . Нужно отфильтровать скобки в начале и в конце артикула, а также знак # . Выражение вида /(#^.*$)/ не срабатывает (функция preg_match). Не подскажете правильное выражение для данного примера?
Дополнительно:
Можно trim а можно и preg_match
<?php $art = '(#КЛП1483П1)'; echo trim($art, ')(#'); echo PHP_EOL; preg_match('/^(#(.+))$/', $art, $m); echo $m[1]; echo PHP_EOL; |
<?php $art = '(#КЛП1483П1)'; echo trim($art, ')(#'); echo PHP_EOL; preg_match('/^(#(.+))$/', $art, $m); echo $m[1]; echo PHP_EOL;
https://phpize.online/s/QW
а можно и substr
echo substr($art, 2, -1); echo PHP_EOL; |
echo substr($art, 2, -1); echo PHP_EOL;
https://phpize.online/s/aW
- Спасибо! Подходит :)
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для фильтрации артикула товара (#КЛП1483П1) с помощью регулярного выражения (RegExp) в PHP можно воспользоваться функцией preg_match(). Ниже приведен пример кода, который показывает, как это можно сделать:
$article = "#КЛП1483П1"; $pattern = '/#(\w+\d+\w\d+)/'; // Регулярное выражение для поиска артикула if (preg_match($pattern, $article, $matches)) { $filtered_article = $matches[1]; echo "Отфильтрованный артикул товара: " . $filtered_article; } else { echo "Артикул не найден."; }
В данном примере мы задаем переменную $article, содержащую артикул товара, и задаем регулярное выражение $pattern, которое ищет соответствие шаблону артикула. Затем мы используем функцию preg_match(), чтобы найти артикул в строке $article и сохранить его в массив $matches. Если артикул найден, мы выводим отфильтрованный артикул товара. Если артикул не найден, выводим сообщение об ошибке.
Этот код поможет вам эффективно фильтровать артикул товара с помощью регулярных выражений в PHP.