Foros del Web » Programando para Internet » PHP »

Consulta Simple HTML DOM Parser - Fatal Error

Estas en el tema de Consulta Simple HTML DOM Parser - Fatal Error en el foro de PHP en Foros del Web. Hola Estoy usando Simple HTML DOM Parser y tengo esta linea Código: $html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext , el tema es que si existe anda bien, pero ...
  #1 (permalink)  
Antiguo 17/12/2017, 15:56
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 2
Consulta Simple HTML DOM Parser - Fatal Error

Hola

Estoy usando Simple HTML DOM Parser y tengo esta linea

Código:
$html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext
, el tema es que si existe anda bien, pero cuando No Existe, me tira un Fatal Error y detiene la ejecucion del programa, yo quisiera que se siga ejecutando, de todas formas ese dato lo guardo en un arreglo, con lo cual esa posicion o tiene el valor que devuelve lafuncion o esta vacia.

probe con:
Código:
isset($html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext)
pero es lo mismo, ¿como puedo evaluar esto?

Código:
if ($html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext=true){
$arreglo [$i]= $html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext;
}else{
$arreglo[$i] = "";
}
Gracias
__________________
Por favor evitar comentarios del estilo "leer el manual...", ya lo hice pero aun tengo dudas, por eso pregunto acá
  #2 (permalink)  
Antiguo 18/12/2017, 00:58
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta Simple HTML DOM Parser - Fatal Error

Usa try catch
  #3 (permalink)  
Antiguo 18/12/2017, 12:14
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Consulta Simple HTML DOM Parser - Fatal Error

Con $html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext

En la parte de "->children(0)->plaintext" estás asumiendo que existe al menos un elemento (cildren 0), por lo que si no existe, te dará error.

Primero debes verificar si el elemento existe, si miras la documentación, en caso de no existir lo que buscas te devuelve null, por lo tanto, debería ser algo así:

if(($html->find('ul[class=algo] div[class=otraCosa]', 1))!=null)
$arreglo [$i]= $html->find('ul[class=algo] div[class=otraCosa]', 1)->children(0)->plaintext;

Etiquetas: dom, fatal, html, parser, simple
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:08.