Análise de blocos de tags usando expressões regulares em PHP
Vamos aprender a obter blocos inteiros
de código HTML. Suponha, por exemplo,
que temos a seguinte tag header
:
texto
<header class="header">
<p>
texto
</p>
<p>
texto
</p>
</header>
texto
Vamos obter o conteúdo deste bloco:
<?php
preg_match('#<header[^>]*>(.+?)</header>#su', $str, $match);
?>
Vamos verificar se capturamos o texto correto:
<?php
var_dump($match[1]);
?>
Encontre o conteúdo da tag footer
:
texto
<footer id="footer" class="footer">
<p>
texto
</p>
<p>
texto
</p>
</footer>
texto
Encontre o conteúdo da tag head
e da tag body
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>título</title>
</head>
<body>
conteúdo principal da página
</body>
</html>
Encontre o conteúdo da tag main
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>título</title>
</head>
<body>
<div class="wrapper">
<main class="main">
conteúdo principal da página
</main>
</div>
</body>
</html>