php - RegEx for preg_match_all not working -
this string ($string
):
swatch: 'http://abc.com/aa.jpg', zoom:[ 'http://abc.com/bb.jpg' ], large:[ 'http://abc.com/cc.jpg' ],
i use following pattern in php file , want match http://abc.com/bb.jpg
:
preg_match_all('/(?<=zoom:\[\s{15}\').*(?=\')/', $string, $image);
but nothing returned. should do?
to make simpler, won't use around , although said need s
modifier, wrong it's used match new lines dots .
won't using here, \s
matches new line:
$string = <<<jso swatch: 'http://abc.com/aa.jpg', zoom:[ 'http://abc.com/bb.jpg' ], large:[ 'http://abc.com/cc.jpg' ], jso; preg_match_all('/zoom:\[\s*\'(?<img>[^\']*)\'\s*\]/', $string, $m); print_r($m['img']);
output:
array ( [0] => http://abc.com/bb.jpg )
explanation:
/ # starting delimiter zoom:\[ # matches zoom:[ \s* # matches spaces, newlines, tabs 0 or more times \' # matches ' (?<img>[^\']*) # named group, matches until ' found \' # matches ' \s* # matches spaces, newlines, tabs 0 or more times \] # matches ] / # ending delimiter
Comments
Post a Comment