]*)
($attr)=
)
(
\s*(\"|')
(((?!\\6).)*)
\\6([^>]*>)
|
\s*(((?!/>)[^\s>])*)
([^>]*>)
)
:ix";
} /* function FeedWordPressHTML::attributeRegex () */
static function attributeMatch ($matches) {
for ($i = 0; $i <= 12; $i++) :
if (!isset($matches[$i])) :
$matches[$i] = '';
endif;
endfor;
$suffix = $matches[12].$matches[9];
$value = $matches[10].$matches[7];
return array(
"tag" => $matches[3],
"attribute" => $matches[4],
"value" => $value,
"quote" => $matches[6],
"prefix" => $matches[1].$matches[6],
"suffix" => $matches[6].$suffix,
"before_attribute" => $matches[2],
"after_attribute" => $suffix,
);
} /* function FeedWordPressHTML::attributeMatch () */
static function tagWithAttributeRegex ($tag, $attr, $value, $closing = true) {
return ":(
(<($tag)\s+[^>]*)
($attr)=
)
(
\s*(\"|')
((((?!\\6).)*\s)*($value)(\s((?!\\6).)*)*)
\\6([^>]*>)
|
\s*((?!/>)($value))
([^>]*>)
)".($closing ? "
(((?!($tag)>).)*)
(($tag)>)
" : "")."
:ix";
} /* FeedWordPressHTML::tagWithAttributeRegex () */
static function tagWithAttributeMatch ($matches, $closing = true) {
for ($i = 0; $i <= 21; $i++) :
if (!isset($matches[$i])) :
$matches[$i] = '';
endif;
endfor;
$suffix = $matches[16].$matches[13];
$value = $matches[14].$matches[7];
return array(
"full" => $matches[0],
"tag" => $matches[3],
"attribute" => $matches[4],
"value" => $value,
"quote" => $matches[6],
"prefix" => $matches[1].$matches[6],
"suffix" => $matches[6].$suffix,
"before_attribute" => $matches[2],
"after_attribute" => $suffix,
"open_tag" => $matches[1].$matches[6].$value.$matches[6].$suffix,
"content" => ($closing ? $matches[17] : NULL),
"close_tag" => ($closing ? $matches[20] : NULL),
);
} /* FeedWordPressHTML::tagWithAttributeMatch () */
} /* class FeedWordPressHTML */