Как указывает npinti, вы не должны использовать регулярное выражение для разбора нерегулярного языка.Вместо этого вы можете использовать PHP DOMDocument , чтобы найти текст любого нужного вам узла.Вот пример для захвата внутреннего текста элемента <span>
и демонстрация, чтобы показать, как он работает.
$html = "<span>Text</span>";
$doc = new DOMDocument();
$doc->loadHTML( $html);
$elements = $doc->getElementsByTagName("span");
foreach( $elements as $el)
{
echo $el->nodeValue . "\n";
}
Демо
Редактировать: Мой пример показывает использование полу-полного HTML-документа, но DOMDocument также успешно проанализирует HTML-строку, такую как $html = '<span>Text</span>';
, см. здесь .