Gracias a sus aportes, y a leer mucho e investigar un poco llegue a la siguiente respuesta, tan solo me falta poder "recorrer" todo el texto original para obtener todas las veces que aparece textos entre ## dado que ahora solo obtengo la primer aparición de los mismos, entiendo que tendría que realizar un bucle pero no termino de darme cuenta como implementarlo con lo que he realizado hasta ahora. Si alguien fuera tan amable de ayudarme a pensar o mostrarme un ejemplo se lo agradesería mucho porque solo me falta eso para poder concretar esta función.
desde ya muchas gracias!!!
El .php que realize hasta ahora y que me da tan solo la primera aparición del ##text##
Código PHP:
<?php
$archivo_html = '8.HTML'; // archivo HTML a procesar
$archivo_txt = "script ". date("Y-m-d H.i.s").".txt"; // nombre del archivo donde se generará el txt con el contenido deseado
$contenido_con_etiquetas_html = file_get_contents("$archivo_html"); // leo el contenido del archivo y lo pongo en una variable
$contenido_a_filtrar = strip_tags($contenido_con_etiquetas_html);// obtengo el contenido del archivo sin las etiquetas HTML
// Función para extrear el texto en base a el patron dado como inicio y final
function extraer($Contenido, $Inicio, $Final){
$pInicio = strpos($Contenido, $Inicio, 0);
if ($pInicio !== false){
$pFinal = strpos($Contenido, $Final, $pInicio + strlen($Inicio));
if ($pFinal !== false) {
return (substr($Contenido, $pInicio + strlen($Inicio), ($pFinal - ($pInicio + strlen($Inicio)))));
}
}
return '';
}
$contenido_filtrado = extraer($contenido_a_filtrar,"##","##"); // Filtro el contenido de texto comprendido entre los caracteres "##" de apertura y cierre
//Generación del .txt final
if ($fp = fopen($archivo_txt,w))
{
fputs($fp, $contenido_filtrado);
}
fclose($fp);
?>