Mira
Mira

Reputation: 563

Unknown modifier 'g' PHP regex error

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

Answers (2)

Paul
Paul

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

genesis
genesis

Reputation: 50974

There's no g modifier.

Delete that g and it'll work

$regexp = '/(productimages\/)(\w*)(\/v\/)(\w*)(.jpg)/';

Upvotes: 3

Related Questions