Capitulos de este wiki
  1. 1 Detector de XHTML en PHP

Detector de XHTML en PHP - Detector de XHTML en PHP

1 - Detector de XHTML en PHP

[editar]
Artículo creado por Marco. Extraido de: http://toad.bitacoras.com/index.php?c=PHP
30 de Noviembre de 1999
26 - 9 - 2004 - Ya hemos de cómo usar XHTML como tiene que ser, es decir, enviándolo como application/xhtml+xml para que el navegador lo interprete como XHTML y no como HTML.
Pero esto como ya hemos visto tiene muchos problemas, como por ejemplo que navegadores como MSIE, Mozilla y Netscape antiguos, Lynx, Links o bots no funcionan con este tipo MIME.
Una solución puede ser analizar el tipo de navegador que es y "decidir" si soporta XHTML o no, y enviar el tipo MIME que corresponda.
Esto es un poco chapuza, pero funciona. Aparte de que si un navegador que soporta XHTML no está "previsto" en el "detector"; no habrá nada que perder porque podrá ver igual la página.
Os pongo un código que he hecho en PHP. Está probado en Mozilla, Firebirds y Firefoxes, Opera, Safari, MSIE, Googlebot, y más.
Si lo quereis probar "en vivo" podeis verlo funcionando . Al final de la página dice el tipo que ha enviado :-)
Este es el código ("embellecido" por PHP_Beautifier):
    $ua = $_SERVER['HTTP_USER_AGENT'];
    $soporta_xhtml = false;
    if (ereg("Mozilla", $ua)) {
        $uag = " $ua";
        $rfe = @explode("Mozilla", $uag);
        $mz = $rfe[1];
        if (ereg("/", $mz)) {
            $mz = " $mz";
            $foo = explode("/", $mz);
            $bar = explode(" ", $foo[1]);
            $moz_version = $bar[];
            if ($moz_version
"5.0") {
                if (eregi("Gecko", $ua) && !eregi("Konqueror", $ua) && !eregi("bot", $ua) && !eregi("crawler", $ua)) {
                    $soporta_xhtml = true;
                }
            } else if ($moz_version
"4.0") {
                if (ereg("Opera 7", $ua) || ereg("Opera 6", $ua)) {
                    $soporta_xhtml = true;
                }
            }
        }
    }
    if (eregi("W3C", $ua) && eregi("Validator", $ua)) {
        $soporta_xhtml = true;
    }
    if ($soporta_xhtml) {
        $ctype = "application/xhtml+xml";
    } else {
        $ctype = "text/html";
    }
    header("Content-Type: $ctype; charset=utf-8");
?>
Evidentemente habría que ponerlo al principio de todo...
Debería funcionar bien :-)
[editar]

1 opinión

Buenos dia.

Me podrias mandar el programa de como mandarlo.

Artículos relacionados con 'Detector de XHTML en PHP'

Ya hemos hablado por aquí de cómo usar XHTML como tiene que ser, es decir,... Más »

Autor y licencia de 'Detector de XHTML en PHP'


Artículo de Marco. Extraido de: http://toad.bitacoras.com/index.php?c=PHP CopyLeft
Todos los contenidos de este weblog están bajo Dominio Público salvo que se especifique lo contrario.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.