Extracción de texto plano de elementos con una clase designada usando php dom
El texto de elementos HTML específicos es una tarea común en el desarrollo web. PHP DOM proporciona herramientas robustas para analizar HTML y acceder a su contenido. Este artículo aborda un requisito específico para extraer texto de elementos con una clase nominada en dos matrices planas.
problema
dado el contenido HTML que contiene texto distribuido entre múltiples elementos P con Alterando los nombres de clases, la tarea es guardar el texto en dos matrices: una para encabezados y otro para contenido. Por ejemplo, dado el siguiente html:
Chapter 1
This is chapter 1
necesitamos obtener el siguiente resultado:
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Solution
para lograr esta extracción usando PHP DOM, empleamos domdocumento y domxpath. La solución implica los siguientes pasos:
$dom = new DOMDocument(); $dom->loadHTML($test);
$xpath = new DOMXPath($dom);
$heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H');
en la función pardoArray ():
aquí está el código PHP completo:
query($xpathquery); $resultarray = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $resultarray[] = $node->nodeValue; } } return $resultarray; } $test = Chapter 1This is chapter 1
Chapter 2
This is chapter 2
Chapter 3
This is chapter 3
HTML; $dom = new DOMDocument(); $dom->loadHTML($test); $xpath = new DOMXPath($dom); $heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H'); var_dump($heading); echo "
"; var_dump($content); echo "
";
Este enfoque utiliza el poder de PHP DOM y XPath para extraer eficientemente el texto de los documentos HTML, lo que permite una manipulación de contenido más compleja y dirigida.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3