uspdev/cutter

Retorna o código cutter da string fornecida

1.0.2 2019-05-30 11:44 UTC

This package is auto-updated.

Last update: 2024-11-27 05:26:37 UTC


README

Biblioteca que retorna o código cutter de uma string.

Para saber o que é e para que serve veja https://pt.wikipedia.org/wiki/Tabela_de_Cutter.

Esta biblioteca foi inspirada pelo projeto https://github.com/bcunhasa/gerador-cutter que está escrito em python. Especificamente aproveitei boa parte do método recursivo para encontrar o código.

A tabela utilizada foi retirada do endereço http://203.241.185.12/asd/board/Author/upfile/abcd.htm, visitado em 28/5/2019. Parece ser a mesma tabela publicada em http://conteudo.icmc.usp.br/Portal/Sistemas/Biblioteca/cutter/ e em http://biblioteca.eesc.usp.br/index.php?option=com_content&view=article&id=206&Itemid=375.

Utilização

Essa biblioteca foi testada em Linux Ubuntu 18.04 mas deve funcionar em qualquer sistema sem problemas. Inclusive não requer dependência alguma.

Adicione esta biblioteca ao seu projeto

composer require uspdev/cutter

Exemplo de teste

<?php

require 'vendor/autoload.php';

use Uspdev\Cutter;

echo Cutter::find('Kawabata, Neto').PHP_EOL;

Teste

Na pasta /test é feito a busca por alguns nomes e verifica o resultado. Essa lista não é longa hoje mas será aumentada ao longo do tempo. Para rodar o teste digite na linha de comando

php vendor/uspdev/cutter/test/test.php

Se você clonou o projeto no github o caminho para o teste é

php test/test.php

Problemas conhecidos

Esta biblioteca não trata alguns tipos de palavras nem oferece alternativas.

Exemplo1. "le fort, gertrud" deveria ser 494 porém retornou 433. Nesse caso o espaço entre "le" e "fort" deve ser suprimido usando a busca "lefort" que retorna o resultado correto.

Exemplo 2. "krahl" deveria ser 89 porém retornou 91. Como "krahl" não existe, deve-se adotar o imediatamente anterior na ordem alfabética (89-kr, 91-krau)