Spell check html files
It's working with :
- LanguageTool
- Guzzle
- Symfony Finder Component
- Glicer Simply-html Component
- Optionally for spell suggestions : Php Enchant
Docker must be installed
make docker_build
make docker_run
Java must be installed
Download and install LanguageTool stand-alone for desktop in a directory.
PECL Enchant can be used
sudo apt-get install php5.6-enchant
languages dictionnaries are in dicts
dictionnary
This library can be found on Packagist.
The recommended way to install is through composer.
Edit your composer.json
and add :
{
"require": {
"glicer/spell-checker": "dev-master"
}
}
Install dependencies :
php composer.phar install
require 'vendor/autoload.php';
use GlSpellChecker\GlSpellChecker;
use Symfony\Component\Finder\Finder;
//language to check, define languagetool directory, and languagetool port used
$spellchecker = new GlSpellChecker("fr", "fr_FR","C:\\Glicer\\LanguageTool\\",'localhost', 8081);
// or with docker $spellchecker = new GlSpellChecker("fr","fr_FR",null,'localhost',8010);
//construct list of local html files to check spell
$finder = new Finder();
$files = $finder->files()->in('./public')->name("*.html");
//launch html checking
$filereport = $spellchecker->checkHtmlFiles(
$files,
function (SplFileInfo $file, $nbrsentences) {
// called at beginning - $nbr sentences to check
},
function ($sentence) {
// called each sentence to check
},
function () {
// called at the end
}
);
//$filereport contain fullpath to html file report
print_r($filereport);
you can view $filereport with your browser
require 'vendor/autoload.php';
use GlSpellChecker\GlSpellChecker;
use Symfony\Component\Finder\Finder;
//define languagetool directory, language to check and languagetool port used
$spellchecker = new GlSpellChecker("fr", "fr_FR","C:\\Glicer\\LanguageTool\\",'localhost',8081);
// or with docker $spellchecker = new GlSpellChecker("fr","fr_FR",null,'localhost',8010);
//construct list of local html files to check spell
$finder = new Finder();
$files = $finder->files()->in('./public')->name("*.yml");
//launch html checking
$filereport = $spellchecker->checkYamlFiles(
$files,
['test'], //list of fields to check
function (SplFileInfo $file, $nbrsentences) {
// called at beginning - $nbr sentences to check
},
function ($sentence) {
// called each sentence to check
},
function () {
// called at the end
}
);
//$filereport contain fullpath to html file report
print_r($filereport);
Change LanguageTool in phpunit.xml.dist :
- ip/port if you use docker server
- directory if you use local server
Launch from command line :
vendor\bin\phpunit
Authors : Emmanuel ROECKER & Rym BOUCHAGOUR