Egy kis helyesírás-ellenőrző programot fogok mutatni, amihez a PHP pspell könyvtárát használtam. Lényegében 3 függvényt használtam fel. Ezek pedig a pspell_new
, pspell_check
és pspell_suggest
. Ezekkel már elérhető, hogy egy magyar szótár alapján az egyes szavak helyességét vizsgáljuk. Központozást és egyéb mondattani jellemzőket nem néz.
Szükséges
hozzá az aspell csomag. Illetve magyar szótárhoz az aspell-hu is. Ezen kívül a php5-pspell könyvtár kell, amit linuxon ( debian, ubuntu ) vagy apt-get -tel kell feltelepíteni, vagy aki a php-t is saját maga fordítja, az a --with-pspell kapcsolót kell használja. Ahhoz viszont szükséges előbb a libpspell-dev csomag is.
pspell_new
Ezzel lehet egy új szótárt megnyitni. Az első paraméterben a „hu_HU” megadja, hogy magyar szótár kell. A második paraméter különböző nyelvjárások megadására szolgál, mint például amerikai, brit, kanadai angol. Megadható zsargon is, de most a fontosabb két paraméter a 4. és 5. Ezek sorban a karakterkódolás és a mód. A móddal korlátozható a hibás szavakra adott javítási javaslatok száma. Én a leggyorsabb és legkevesebb javaslatot adó PSPELL_FAST konstanst adtam meg.
pspell_check
Ezzel lehet ellenőrizni egy szót. Fontos, hogy minden átadott string egy szónak számít. Tehát a mondatok szavakra darabolását meg kell oldani. Beleértve az írásjeleket is.
pspell_suggest
Végül pedig maradt a javaslatok lekérdezése. A javaslatokat ez a függvény tömbként adja vissza.
Helyesírás-ellenőrző program
Demo-t sajnos nem tudok mutatni, mert a tárhelyemen nincs telepítve a pspell. Ezért csak leírom, mit tud a program. Egy megadott szövegben megkeresi a hibás szavakat, majd azokat aláhúzva és kiemelve pirossal, megjeleníti. A hibás szavakra kattintva megjelennek a javaslatok, ha az űrlapon ez az opció ki van pipálva. Lehetne tovább cifrázni azzal, hogy a javaslatra kattintva a szövegben lecseréli a szót, de ezt én most nem oldottam meg.
És a program forráskódja: