View Source
myMIME.php
- <?php
- $charset = "utf-8"; # iso-8859-1 OR utf-8
- $mime = "text/html";
- # NOTE: To allow for q-values with one space (text/html; q=0.5),
- # use the following regex:
- # "/text\/html;[\ ]{0,1}q=([0-1]{0,1}\.\d{0,4})/i"
- if(preg_match("/application\/xhtml\+xml;q=([0-1]{0,1}\.\d{0,4})/i",$_SERVER["HTTP_ACCEPT"],$matches)) {
- $xhtml_q = $matches[1];
- $html_q = $matches[1];
- if((float)$xhtml_q >= (float)$html_q)
- $mime = "application/xhtml+xml";
- }
- }
- else
- $mime = "application/xhtml+xml";
- }
- # special check for the W3C_Validator
- # (allows IE page validation as XHTMLv1.1)
- # but still serves page for IE to "understand" (i.e. text/html)
- $mime = "application/xhtml+xml";
- }
- # set the prolog_type according to the mime type which was determined
- if($mime == "application/xhtml+xml") {
- $prolog_type = '<?xml version="1.0" encoding="'.$charset.'" ?>'."\n";
- $prolog_type .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" ';
- $prolog_type .= '"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'."\n";
- $prolog_type .= '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">'."\n\n";
- } else {
- $prolog_type = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"';
- $prolog_type .= '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n";
- $prolog_type .= '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'."\n\n";
- }
- # output the mime type and prolog type to your page
- header("Content-Type: $mime;charset=$charset");
- header("Vary: Accept");
- print $prolog_type;
- ?>
Parsed in 0.106 seconds



