Мне нужна помощь по регулярному выражению или preg_match
, потому что я не настолько опытен, но в отношении тех, вот моя проблема.PHP/regex: Как получить строковое значение HTML-тега?
Мне нужно получить значение «получить меня», но я думаю, что моя функция имеет ошибку. Число тегов html является динамическим. Он может содержать много вложенных тегов html, как жирный тег. Кроме того, значение «получить меня» является динамическим.
<?php
function getTextBetweenTags($string, $tagname) {
$pattern = "/<$tagname>(.*?)<\/$tagname>/";
preg_match($pattern, $string, $matches);
return $matches[1];
}
$str = '<textformat leading="2"><p align="left"><font size="10">get me</font></p></textformat>';
$txt = getTextBetweenTags($str, "font");
echo $txt;
?>
возможно дубликат [Можете ли вы привести несколько примеров того, почему трудно разобрать XML и HTML с регулярных выражений?] (HTTP: //stackoverflow.com/questions/701166/can-you-provide-some-examples-of-why-it-is-hard-to-parse-xml-and-html-with-a-rege) –
Возможный дубликат [RegEx сопоставить открытые теги, кроме XHTML автономных тегов] (http://stackoverflow.com/questions/1732348/regex-match-open-ta gs-except-xhtml-self-contains-tags) –