Como obtener el texto de una etiqueta HTML con simple_html_dom.php

publicado por: Anonymous

estoy tratando de sacar el texto que contienen determinadas etiquetas dentro del HTML en una pagina, estoy usando html_simple_dom.php que me ha parecido bueno para esto. Sin mas les dejo un ejemplo de mi problema.

Esta es la funcion en php

<?php  

require(‘simple_html_dom.php’);

function precioExito($url){
    $html = new simple_html_dom();
    $html->load_file($url); //Se carga la URL con la libreria
    $posts = $html->find('p[class=price offer]'); //Guardamos en Posts el precio que esta en span:price-number
    foreach($posts as $post) {  //Devuelve un array se recorre con el for para imprimir, como es unico valor, solo imprime 1
        $resultado = str_replace ( ".0", '', $post);

        break;
    }
    return $resultado;
  }

?>

Lo que hago es que llamo esta función si le hago un echo a ese valor, que me debe retorna me muestra por pantalla el valor (ver imagen)

introducir la descripción de la imagen aquí
Pero cuando ese valor que me retorna lo mando a la BD, esto es lo que me guarda en la BD. (Ver imagen)
introducir la descripción de la imagen aquí

Como pueden ver me esta trayendo toda la etiqueta HTML y no solo el valor.

PREGUNTA

¿Como puedo obtener solo el valor de esta etiqueta para poder guardarlo?

Muchas gracias.
Espero haber sido claro

solución

Si siempre va a querer obtener un único resultado te puedes ahorrar el foreach

Ejemplo:

$html = new simple_html_dom();
$html->load_file($url);
$post = $html->find('p[class=price offer]', 0)->plaintext;

Con ->plaintext extraemos el texto. Y con el segundo parámetro en find() indicamos el número del elemento a ser traído.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *