PHP 5.6.0 released

pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_newCharge un nouveau dictionnaire

Description

int pspell_new ( string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new() ouvre un nouveau dictionnaire et retourne un identifiant de dictionnaire, pour être utilisé avec d'autres fonctions pspell.

Pour plus d'informations et d'exemples, reportez-vous au site » http://aspell.net/.

Liste de paramètres

language

Le paramètre de langue spelling est constitué des deux lettres du codage de langue ISO 639, et du codage optionnel de pays ISO 3166, séparés par un '_'.

spelling

Ce paramètre est nécessaire pour les langues qui ont plus d'une orthographe, comme l'anglais ou le français. Les valeurs reconnues sont 'american', 'british', et 'canadian'.

jargon

Le paramètre jargon contient des informations supplémentaires pour distinguer deux listes de mots qui ont le même marquage de langue et d'orthographe.

encoding

Le paramètre encoding est le type d'encodage des mots. Les valeurs valides sont 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Ce paramètre n'ayant pas été testé de façon exhaustive, il convient d'être prudent lors de son utilisation.

mode

Le paramètre mode est le mode de travail du vérificateur d'orthographe. Plusieurs modes sont disponibles :

  • PSPELL_FAST - Mode rapide (moins de suggestions)
  • PSPELL_NORMAL - Mode normal (plus de suggestions)
  • PSPELL_BAD_SPELLERS - Mode lent (beaucoup plus de suggestions)
  • PSPELL_RUN_TOGETHER - Considère que des mots accolés forment un composé autorisé. Ainsi, "lechat" sera un composé valide. Cette option ne modifie que les résultats retournés par pspell_check(); pspell_suggest() retournera toujours des suggestions.
mode est un masque construit à partir des constantes listées ci-dessus. Cependant, PSPELL_FAST, PSPELL_NORMAL et PSPELL_BAD_SPELLERS sont mutuellement exclusives : vous ne devez en utiliser à la fois.

Valeurs de retour

Retourne l'identifiant de dictionnaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_new()

<?php
$pspell_link 
pspell_new("en""""""",
                           (
PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

add a note add a note

User Contributed Notes 2 notes

up
1
allan at wagawaga dot dk
6 years ago
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
up
0
wookie
5 years ago
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.
To Top