моя модель: /(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/g
и данные: http://gskinner.com/RegExr/?2ujor
и php-код:
$regexp = ' /(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/g'; if(preg_match("$regexp", $input, $matches, PREG_SET_ORDER)) { for($i=0;$i<14;$i++){ echo '--->'.$i.'-->'.$matches[0][$i]; }}
результат: Предупреждение: preg_match () [function.preg-match]: Неизвестный модификатор 'g'
$regexp = ' /(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/g'; if(preg_match_all("$regexp", $input, $matches, PREG_SET_ORDER)) { for($i=0;$i<14;$i++){ echo '--->'.$i.'-->'.$matches[0][$i]; }}
результат: Предупреждение: preg_match_all () [function.preg-match-all]: Неизвестный модификатор 'g'
это решение не сработало! : | «Неизвестный модификатор« g »в …» при использовании preg_match в PHP?
что мне делать?
Переключение на preg_match_all
было правильным, теперь все, что вам нужно сделать, это удалить «g» из вашего регулярного выражения:
$regexp = ' /(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/';
Модификатора не существует .
Удалите это, и он будет работать
$regexp = '/(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/';