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
$language
[, string $spelling
[, string $jargon
[, string $encoding
[, int $mode = 0
]]]] )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.
PSPELL_FAST,PSPELL_NORMALyPSPELL_BAD_SPELLERSson mutuamente exclusivas, por lo que debería seleccionar únicamente una de ellas. -
Valores devueltos
Devuelve el identificador de vínculo de diccionario en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #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
