C: Cómo extraer el tipo de documento de una página HTML
Frecuentes
Visto 169 veces
0
Necesito extraer el doctype de una página HTML que puede ser XHTML, HTML html o WML, utilizando C o C++. Daré la entrada como un archivo HTML o como una matriz.
si las páginas html no contienen un encabezado, entonces el resultado debería ser con respecto a la página, como si fuera html result = html o si fuera xhtml result = xhtml....
1 Respuestas
1
Esto parece dos preguntas distintas:
1) cómo simplemente obtener la declaración "doctype" de una página html, para lo cual iba a sugerir algo simple como:
char doctype[1024];
void
get_doctype(char *html_page)
{
sscanf(html_page, "<!DOCTYPE %1024s>", doctype);
}
Entonces tal vez coincida con conocidos doctype
cadenas para obtener un valor enumerado.
Pero también está preguntando 2) cómo detectar el tipo de una página sin declaración de tipo de documento. Eso es más difícil y puede haber múltiples respuestas correctas para cada página. Sugeriría subcontratar a una biblioteca como libxml. Tiene funciones para validar flujos de entrada como ciertos tipos de documentos.
contestado el 22 de mayo de 12 a las 15:05
hola buen ans, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> en esto quiero resultado como XHTML 1.0 Transicional si no, el resultado debería ser xhtml e incluso lo mismo para los sitios html también: luna de sol
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas html c or haz tu propia pregunta.
Debería dar el qué? - Samy Dindane
si las páginas html no contienen el encabezado, entonces el resultado debe estar con respecto a la página como si fuera html result = html o si fuera xhtml result = xhtml.... - sunmoon
¿Qué quieres decir con 'dar la res'? Normalmente, 'res' es la abreviatura de 'resolución', pero no veo cómo se puede aplicar eso aquí. - Rory McCrossan