Reputation: 3855
I would like to have a PHP function to check if a URL returns valid HTML or NOT, and returns true or false.
Something like:
if (validate_page("/somefile.html")) { echo "This page validated!!"; }
I found TWINE but it doesn't just give me true or false. Also I got an error running it on my system. http://twineproject.sourceforge.net/
I found this offline tool that looked promising. http://htmlhelp.com/tools/validator/offline/
Also I found this thread that talks about a gem, but it sounds problematic. How do I validate XHTML with nokogiri?
Upvotes: 1
Views: 1501
Reputation: 1048
Tidy?
Validate: http://us.php.net/manual/en/function.tidy-diagnose.php
Repair: http://us.php.net/manual/en/tidy.repairstring.php
Upvotes: 2
Reputation: 17555
libxml_use_internal_errors ( true );
$doc = new DOMDocument;
$doc -> loadHTMLFile ( $file ); // load the file you want validated
var_dump ( libxml_get_errors () );
Upvotes: 0
Reputation: 11286
You could also try DOMDocument->validate()
if you are using PHP 5 and if the document contains a DTD.
http://www.php.net/manual/en/domdocument.validate.php
Upvotes: 1
Reputation: 51797
xhtml hast to be valid xml - if you only want to check that, you could easily use simplexml, but if you also want to check for correct elements/attributes this won't help you (in that case, NullUserExceptions hint to W3C's validator API would be the best solution to choose).
Upvotes: 0
Reputation: 85458
You can use W3C's validator API. There's a PHP library available through PEAR (click here) which uses said API.
You can also install the validator on your local server (instructions here), though you might not have sufficient permissions to do so if you are using shared hosting.
Upvotes: 1