Reputation: 563
my pattern is: /(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/g
and data: http://gskinner.com/RegExr/?2ujor
and php code:
$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];
}}
result: Warning: preg_match() [function.preg-match]: Unknown modifier '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];
}}
result: Warning: preg_match_all() [function.preg-match-all]: Unknown modifier 'g'
this solution not worked! :| "Unknown modifier 'g' in..." when using preg_match in PHP?
what should i do?
Upvotes: 3
Views: 6900
Reputation: 141877
Switching to preg_match_all
was correct, now all you need to do is remove the 'g' from your regex:
$regexp = '/(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/';
Upvotes: 8
Reputation: 50974
Delete that g and it'll work
$regexp = '/(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/';
Upvotes: 3