Предупреждение: preg_match() [function.preg-match]: Сбой компиляции: нечего повторять со смещением 22

#php #regex #preg-match-all

#php #регулярное выражение #preg-match-all

Вопрос:

я пытаюсь изменить проверку preg_match из проверки URL и получаю эту ошибку

Цитата из блока preg_match_all(): Сбой компиляции: нечего повторять со смещением 22

это код:

 preg_match_all('#b(' . $allWordsFromProduct . ')b#ui', $name, $matches);
  

Комментарии:

1. Что внутри $allWordsFromProduct ?

Ответ №1:

Может $allWordsFromProduct содержать специальный символ регулярного выражения. Вы можете попробовать:

  $allWordsFromProduct = preg_quote($allWordsFromProduct , '#');
 preg_match_all('#b(' . $allWordsFromProduct . ')b#ui', $name, $matches);
  

Это ускользнет от них.