php-w3cvalidator
, (*1)
Validate html and css files using w3c markup validation and w3c css validation., (*2)
Installation
This library can be found on Packagist., (*3)
The recommended way to install is through composer., (*4)
Edit your composer.json and add :, (*5)
{
"require": {
"glicer/w3c-validator": "dev-master"
}
}
Install dependencies :, (*6)
php composer.phar install
Example
<?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, (*7)
In this example,
you can view reports in result/w3c_css_glicer.html, result/w3c_html_glicer.html, result/... from your browser., (*8)
Use html validator offline
Docker must be installed, (*9)
docker pull magnetikonline/html5validator
docker run -d -p 8080:80 -p 8888:8888 magnetikonline/html5validator
Validator nu Java server on port 8888, (*10)
Pass url of validator nu to constructor :, (*11)
$validator = new GlW3CValidator(__DIR__ . "/result","http://127.0.0.1:8888");
Running Tests
You must be online, (*12)
Launch from command line :, (*13)
vendor\bin\phpunit
License MIT
Authors : Emmanuel ROECKER & Rym BOUCHAGOUR, (*14)
Web Development Blog - http://dev.glicer.com, (*15)