Jump to content
xisto Community
Sign in to follow this  
FirefoxRocks

Php/xhtml Pages A simple guide to making valid PHP/XHTML pages

Recommended Posts

As you know, if you use the XML encoding tag, XHTML Doctype and the XML Namespace attribute in the html tag on a .php document, it won't render properly and will infact display errors.

 

A solution to this problem is to use the require function of the PHP system.

 

(I'm new at PHP, just learnt it yesterday, please feel free to correct anything :))

 

Here are some examples of pre-body text:

 

Normal XHTML document pre-body information:

[b]<?xml version='1.0' encoding='iso-8859-1'?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://forums.xisto.com/no_longer_exists/ xmlns='http://forums.xisto.com/no_longer_exists/ XHTML Site</title><link rel="stylesheet" href="allpages.css" type="text/css" /><style type="text/css">...style information here...</style></head>

Normal HTML 4.01 document pre-body information:

[b]<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://forums.xisto.com/no_longer_exists/ HTML Site</title><link rel="stylesheet" href="allpages.css" type="text/css" /><style type="text/css">...style information here...</style></head>

Note: there are also many doctypes for HTML and XHTML, these are just some examples. There is also HTML 3.2 and 2.0 instead of 4.01.

 

PHP document:

<html><head><title>My PHP Site</title></head>

Here is the one you should be using for PHP/XHTML pages:

<?php require("doctype.php"); ?><head><title>Achoo!</title><link rel="stylesheet" href="allpages.css" type="text/css" /><style type="text/css">...style information here...</style></head>

The doctype.php file:

<?php$xml="<?xml version='1.0' encoding='iso-8859-1'?>";$doctype="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://forums.xisto.com/no_longer_exists/ xmlns='http://forums.xisto.com/no_longer_exists/ $xml . " " . $doctype . " " . $html;?>

In this case, the browser still outputs the XML encoding, the DOCTYPE declaration and the HTML document declaration. If you view the source of the page, you can't tell that it used the PHP (remember, PHP is server-side).

 

I hope this has helped you create more valid pages for your website. Please remember, we are cleaning up the web here, so make sure your documents have valid XHTML/CSS and no broken links. :D

Share this post


Link to post
Share on other sites

I already use that. Is there anyway you can make the XML processing instruction, DOCTYPE and HTML appear on separate lines in the View Source in the browser?The <head> element may be also added into the script, as it ALWAYS comes right after <html xmlns:"http://forums.xisto.com/no_longer_exists/">do also use another script to support XHTML even further. I'll put that in another post though.

 

Share this post


Link to post
Share on other sites
<?xml version='1.0' encoding='iso-8859-1'?>
Having this in the first line of the document forces Internet Explorer into "quirks" mode and the page rendering is unpredictable, so I would drop that line from the document. The page will still validate without the xml version line on the page. It is a glitch in IE 6 and IE7. (surprise!!!)

Share this post


Link to post
Share on other sites

I know, just found that out sometime this week.I will be making a further tutorial that support HTTP_ACCEPT values for the header and ejecting out the correct output with XML processing line, DOCTYPE and also the HTML tag. The MIME type "application/xhtml+xml" will also be used if a Mozilla-derivative browser or Opera is being used. IE will use "text/html" and no XML encoding to avoid quirks mode.I will need to add some text of my own into the new tutorial because I do not want to plagiarize.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.