php-spellchecker
, (*1)
Spell check html files, (*2)
It's working with :, (*3)
Use Docker
Docker must be installed, (*4)
make docker_build
make docker_run
Or use stand-alone
Java must be installed, (*5)
Download and install LanguageTool stand-alone for desktop in a directory., (*6)
Enchant (Optionally for spell suggestions)
PECL Enchant can be used, (*7)
sudo apt-get install php5.6-enchant
languages dictionnaries are in dicts dictionnary, (*8)
Install php-spellchecker
This library can be found on Packagist., (*9)
The recommended way to install is through composer., (*10)
Edit your composer.json and add :, (*11)
{
"require": {
"glicer/spell-checker": "dev-master"
}
}
Install dependencies :, (*12)
php composer.phar install
How to spell check html files ?
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, (*13)
How to spell check yaml files ?
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);
Running Tests
Change LanguageTool in phpunit.xml.dist :
* ip/port if you use docker server
* directory if you use local server, (*14)
Launch from command line :, (*15)
vendor\bin\phpunit
License MIT
Authors : Emmanuel ROECKER & Rym BOUCHAGOUR, (*16)
Web Development Blog - http://dev.glicer.com, (*17)