Just as a small tip, I noticed that when you call pspell_new multiple times, php does not free memory usage when the resource is destroyed, but only when your entire script has completely finished. So if you create a pspell_link resource and you intend to use it again somewhere else, instead of calling pspell_new again, keep track of your original pspell_link resource instantiation, and use it again, your script will run much more efficiently.
I was switching between 16 dictionaries by just calling a new pspell_new everytime, my memory usage on the server grew until i hit a failure/php core dump. :-/ So i stored each pspell resource in an array keyed by language, and checked if the resource existed first, before creating one if needed.
I hope that helps someone.
pspell_new
(PHP 4 >= 4.0.2, PHP 5)
pspell_new — Cargar un nuevo diccionario
Descripción
pspell_new() abre un nuevo diccionario y devuelve el identificador de vínculo de diccionario para usarlo en otras funciones pspell.
Para más información y ejemplos, verifique el sitio web de pspell del manual en línea:» http://aspell.net/.
Parámetros
- language
-
El parámetro language es el código de lenguaje que consiste en el código de lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras opcional después de un guión o guión de subrayado.
- spelling
-
El parámetro spelling es la ortografía solicitada para lenguajes con más de una ortografía, como el inglés. Valores conocidos son 'american', 'british', y 'canadian'.
- jargon
-
El parámetro jargon contiene información extra para distinguir dos listas de palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.
- encoding
-
El parámetro encoding es la codificación que se espera que tengan esas palabras. Los valores válidos son 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parámetro no está en gran parte comprobado, por lo que, tenga cuidado al usarlo.
- mode
-
El parámetro mode es el modo en el que trabajará el corrector ortográfico. Hay varios modos disponibles:
- PSPELL_FAST - Modo rápido (menor númeo de sugerencias)
- PSPELL_NORMAL - Modo normal (más sugerencias)
- PSPELL_BAD_SPELLERS - Modo lento (un montón de sugerencias)
- PSPELL_RUN_TOGETHER - Considerar palabras unidas como compuestos legales. Es decir, "elgao" será un compuesto legal, aunque debería haber un espacio entre las dos palabras. Cambiar esta configuración solo afecta a los resultados devueltos por pspell_check(); pspell_suggest() seguirá devolviendo sugerencias.
Valores devueltos
Devuelve el identificador de vínculo de diccionario en caso de éxito o FALSE en caso de error.
Ejemplos
Example #1 pspell_new()
<?php
$pspell_link = pspell_new("en", "", "", "",
(PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>
I think the language and spelling parameters differs on different PHP versions and/or aspell/UNIX distributions.
My PHP 5.2.6 Debian ignores the spelling parameter.
Instead:
For Americans use en_US as language.
For British use en_GB (not en_UK)
For Canadian use en_CA
