Gå til innhold

Hvilken nytte har denne koden?


Anbefalte innlegg

ok, jeg bruker denne koden her til å fikse mime type, fordi ikke IE fikser application/xhtml+xml.

 

$charset = "utf-8";
$mime = "text/html";
function fix_code($buffer) {
 return (preg_replace("!\s*/>!", ">", $buffer));
}
if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")) {
 if(preg_match("/application\/xhtml\+xml;q=([01]|0\.\d{1,3}|1\.0)/i",$_SERVER["HTTP_ACCEPT"],$matches)) {
 	$xhtml_q = $matches[1];
 	if(preg_match("/text\/html;q=q=([01]|0\.\d{1,3}|1\.0)/i",$_SERVER["HTTP_ACCEPT"],$matches)) {
   $html_q = $matches[1];
   if((float)$xhtml_q >= (float)$html_q) {
   	$mime = "application/xhtml+xml";
   }
 	}
 }
 else {
 	$mime = "application/xhtml+xml";
 }
}
if($mime == "application/xhtml+xml") {
 $prolog_type = "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n";
}
else {
 ob_start("fix_code");
 $prolog_type = "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML Basic 1.0//EN\" \"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd\">\n";
}
header("Content-Type: $mime;charset=$charset");
header("Vary: Accept");
print $prolog_type;

 

Denne koden her fjerner alle /> tags i IE, dette pga:

ob_start("fix_code");

og

function fix_code($buffer) {

return (preg_replace("!\s*/>!", ">", $buffer));

}

 

Hva er vitsen med den koden? fjerner jeg den så funker den fint? har det noe med IE browseren? eller er det bare å fjerne slik at siden blir validert?

Lenke til kommentar
Videoannonse
Annonse

ob_start("fix_code");

åpner en buffer og kaller fix_code på den -- men jeg lurer på om du ikke skal ha en ob_end_clean() eller ob_end_flush() etterpå?

 

Ser i alle fall fornuftig ut for meg det der... Altså at /> byttes ut med >.

Lenke til kommentar

joa, den gjør sitt - men hvorfor bytte ut /> med > ?

ser ingen grunn til å ha den der egentlig. så bare fjerna den.

Men hvis det er en god grunn som feks at IE klikker totalt så vil jeg jo såklart heller ha den der, men jeg tviler sterkt på det. derfor fjerna den.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...