#
# htmlLookOver()
# There is extended implementation of the
# J.E.F.Friedl, Mastering Regular Expressions, p.190 in Russian Edition
#
# @param string $string Looking over html-text
# @param string $tagName Paired tag name
# @param string $subRegex The part of the regex, if not specified it
# corresponds to any attributes of the opening tag
#
# @return array The list of matching substrings
#
sub htmlLookOver
{
my ($string, $tagName, $subRegex, ) = (shift, shift, shift);
return () unless $string && $tagName;
$subRegex = '[^>]*' unless defined $subRegex;
my $search = qr/
<($tagName) # opening tag
$subRegex> # some attrs
(
(?:
(?!<\/?\1>) # any text between opening and closing tags excluding them
.
)*
)
<\/\1> # closing tag
/sx;
my @result;
$string =~ m/$search/;
do {
$result[$#result + 1] = $2;
} while ( $' =~ m/$search/ );
return @result;
}
Monday, 23 March 2009
Looking over texts within specified tags
Сегодня копался в завалах своего и чужого кода с целью почистить и удалить все, чего я не касался долгое время. Нашел на мой взгляд неплохой код собственного производства. Большой нужды в нем нет - писался одноразово, но хорошо документировано и жалко выкидывать.
Смысл функции достаточно прост - найти и вытащить текст, окруженный заданным тегом.
Ярлыки:
feel-sorry-for-throw-out,
perl
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment