Usando preg_replace() para remover uma tag HTML
A função preg_replace() permite substituir sequências baseadas em expressões regulares.
Na imagem abaixo percebemos um espaço exagerado entre o título e o texto.
Vamos analisar o texto…
logo após as tags </h1> e </h2> temos uma tag <br /> que poder ser removida; com isso o texto ficará mais próximo do título.
$texto = "<h1>Linha de Comando</h1><br /> <br /> <p>Website completo com dicas de programação em PHP, JavaScript, CSS, HTML5 e muito mais.</p> <br /> <h2>Categorias</h2><br /> <br /> <p>PHP</p> <p>JQuery</p> <p>CSS</p>"; |
Poderíamos utilizar a função str_replace(), porém teríamos que usá-la várias vezes caso o seu texto tivesse todas as tags Hn.
str_replace("</h1><br />", "</h1>", $texto) str_replace("</h2><br />", "</h2>", $texto) |
Vamos a uma solução mais simples, que removerá a tag <br /> de todos os Hn do texto.
$novo_texto = preg_replace("/(<\/h[1-6]>)(<br \/>)/", "$1", $texto); |
O $1 refere-se ao primeiro grupo da expressão que é definido quando está dentro dos parenteses.
Resultado:
Bom dia
Muito obrigado, ajudo muito.