PHP: Manipulação de Strings Fácil

18 de Janeiro, 2018

Informática, Open-Source, PHP, Simplicidade

Manipular strings em PHP requer sabemos diversas funções intrigadas na própria linguagem que muitos consideram de utilização pouco prática ou demasiado procedimentos. Apresento agora dois pacotes que prometem uma manipulação rápida, orientada a objectos e fluida de strings em PHP. Depois de experimentar o Stringy e o SubStringy o seu código nunca mais será o mesmo.

Começando pelo mais básico temos o Stringy:

Como se vê no exemplo este pacote apresenta-se com uma interface orientada a objectos e fluida bastante simples de utilizar. Para o instalar utilizando o Composer basta o seguinte comando:

composer require danielstjules/stringy

Agora alguns exemplos de manipulação de strings:

use Stringy\Stringy as S;

s('Camel-Case')->camelize(); // 'camelCase'
s('fooBar')->dasherize(); // 'foo-bar'

s('Ο συγγραφέας είπε')->contains('συγγραφέας'); // true
s('str contains foo')->containsAny(['foo', 'bar']); // true

s('FÒÔbàřbaz')->startsWith('fòôbàř', false); // true
s('fòôbàř')->endsWith('bàř'); // true

s('fòôbàř')->substr(2, 3); // 'ôbà'

s('FÒÔBÀŘ')->toLowerCase(); // 'fòôbàř'
s(' fòôbàř ')->trim(); // 'fòôbàř'
s('fòôbàř')->substr(2, 3); // 'ôbà'

Simples e bastante útil não é? Gosto particularmente dos métodos startsWith() e endsWith(). Existem muitos mais bastante úteis que podem ser encontrados na página do Github do projeto.

Contribui diversas vezes para este projeto com novos métodos e mais recentemente com uma extensão completa chamada SubStringy. Esta adiciona métodos específicos para a manipulação de sub-strings, por exemplo:

composer require tcb13/substringy

use SubStringy\SubStringy as S;

s('What are your plans today?')->substringAfterFirst('plans '); // 'today?'
s('This is a String. How cool can a String be after all?')->substringAfterLast('String '); // 'b'e after all?'
s('What are your plans today?')->substringBetween('your ', ' today'); // 'plans'
s('how are you? are you sure you are ok?')->substringCount('are'); // 3

Depois destes dois pacotes manipular String em PHP nunca foi tão fácil.

Nota: o SubStringy herda todos os métodos do Stringy e adiciona os novos métodos dedicados a trabalhar com sub-strings e por isto basta instalar o SubStringy para ter acesso a tudo.