Validate html and css files using w3c markup validation and w3c css validation.
This library can be found on Packagist.
The recommended way to install is through composer.
Edit your composer.json
and add :
{
"require": {
"glicer/w3c-validator": "dev-master"
}
}
Install dependencies :
php composer.phar install
<?php
// Must point to composer's autoload file.
require 'vendor/autoload.php';
use Symfony\Component\Finder\SplFileInfo;
use Symfony\Component\Finder\Finder;
use GlValidator\GlW3CValidator;
//create validator with directory destination of reports
$validator = new GlW3CValidator(__DIR__ . "/result");
//list of files to validate, it can be a Finder Symfony Object
$finder = new Finder();
//all files in entry directory
$files = $finder->files()->in(__DIR__ . "/entry/");
//add glicer.css and glicer.html
$files = [$files, __DIR__ . "/glicer.css", __DIR__ . "/glicer.html"];
//return array of reports path in html format or null if ok
$results = $validator->validate(
$files,
['html', 'css'], //validate html and css files
function (SplFileInfo $file) { //callback function
echo $file->getRealpath();
}
);
var_dump($results);
$results is an array that associate values to keys : filename checked => W3C html report or null if no error
In this example, you can view reports in result/w3c_css_glicer.html, result/w3c_html_glicer.html, result/... from your browser.
Docker must be installed
docker pull magnetikonline/html5validator
docker run -d -p 8080:80 -p 8888:8888 magnetikonline/html5validator
Validator nu Java server on port 8888
Pass url of validator nu to constructor :
$validator = new GlW3CValidator(__DIR__ . "/result","http://127.0.0.1:8888");
You must be online
Launch from command line :
vendor\bin\phpunit
Authors : Emmanuel ROECKER & Rym BOUCHAGOUR