Why does my Regex (in php) not work? -
$data html text contains lot of anchor texts (links)
$regex = '/\b<a/i'; $data = '<a href="#">test</a> <a href="#">test 2</a>'; preg_match_all($regex, $data, $matches);
returns nothing, $data has 2 <a
's.
$regex = '/\b</i';
returns lots of '<' expected
$regex = '/\ba/i';
returns lots of 'a' expected, but
$regex = '/\b<a/i';
returns nothing.
why that?
besides not using dom parser, using \b
problem here, because matches transition between "word-like" character , that's not, i.e.
(?<=\w)(?=\w)|(?<=\w)(?=\w)
in case, if <
preceded letter \b
match, e.g.:
foo<a
perhaps improve look this:
'/(?<=\s|>)<a/i'
or, this:
'/<a/i'
php regex
No comments:
Post a Comment