pspell_new

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_newCarrega um novo dicionário

Descrição

pspell_new(
    string $language,
    string $spelling = "",
    string $jargon = "",
    string $encoding = "",
    int $mode = 0
): PSpell\Dictionary|false

pspell_new() abre um novo dicionário e retorna uma instância de PSpell\Dictionary para uso em outras funções pspell.

Para mais informações e exemplos, confira o manual no site do pspell:» http://aspell.net/.

Parâmetros

language

O parâmetro language é o código do idioma, que consiste no código de idioma ISO 639 de duas letras e um código de país ISO 3166 opcional de duas letras após um hífen ou sublinhado.

spelling

O parâmetro spelling é a ortografia solicitada para idiomas com mais de uma ortografia, como o inglês. Os valores conhecidos são 'american', 'british' e 'canadian'.

jargon

O parâmetro jargon contém informações extras para distinguir duas listas de palavras diferentes que possuem os mesmos parâmetros de idioma e ortografia.

encoding

O parâmetro de codificação é a codificação em que se espera que as palavras estejam. Os valores válidos são 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parâmetro ainda não foi testado, portanto, tenha cuidado ao usá-lo.

mode

O parâmetro mode define o modo em que o corretor ortográfico funcionará. Há vários modos disponíveis:

  • PSPELL_FAST - Modo rápido (menor número de sugestões)
  • PSPELL_NORMAL - Modo normal (mais sugestões)
  • PSPELL_BAD_SPELLERS - Modo lento (muitas sugestões)
  • PSPELL_RUN_TOGETHER - Considera palavras que se juntam como palavras compostas legais. Ou seja, "thecat" será uma palavra composta legal em inglês, embora deva haver um espaço entre as duas palavras. Alterar esta configuração afeta apenas os resultados retornados por pspell_check(); pspell_suggest() ainda retornará sugestões.
Mode é uma máscara de bits construída a partir das diferentes constantes listadas acima. No entanto, PSPELL_FAST, PSPELL_NORMAL e PSPELL_BAD_SPELLERS são mutuamente exclusivas, portanto, deve-se selecionar apenas uma delas.

Valor Retornado

Retorna uma instância de PSpell\Dictionary em caso de sucesso, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.1.0 Agora, retorna uma instância de PSpell\Dictionary; anteriormente, um resource era retornado.

Exemplos

Exemplo #1 pspell_new()

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
10
wookie
16 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.
up
1
allan at wagawaga dot dk
16 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
To Top