Desenvolvimento - PHP
Funções de manipulação de strings no PHP
Veja neste artigo quais são e como utilizar as principais funções de manipulação de strings na linguagem PHP. Serão apresentadas as funções strtoupper, strtolower, substr, str_pad, str_repeat, strlen, str_replace, e strpos.
por Joel RodriguesNesse artigo sobre PHP, irei apresentar e explicar como e quando utilizar as principais funções de manipulação de strings da linguagem. Ao final da leitura deste material, você deverá estar apto a realizar as principais operações com esse tipo de dado, como converter uma expressão para maiúsculo ou minúsculo, obter partes de um string, identificar se um string está contido em outro, substituir parte de uma expressão, entre outra.
As funções apresentadas serão: strtoupper, strtolower, substr, str_pad, str_repeat, strlen, str_replace, e strpos, nessa ordem.
strtoupper
A primeira função apresentada, strtoupper, recebe um string como parâmetro e retorna o mesmo valor com todas as letras convertidas para maiúsculo.
O formato dessa função, bem como um exemplo de uso são exibidos na Listagem 1.
Listagem 1: Exemplo de uso do strtoupper
<?php /*string strtoupper (string conteudo)*/ $nome = "joel rodrigues"; $nome_maisculo = strtoupper($nome); echo $nome_maisculo; ?>
A saída desse código é “JOEL RODRIGUES”.
strtolower
O strtolower funciona de forma inversa à função anterior. Com a mesma sintaxe, este método retorna o conteúdo informado com todas as letras convertidas para minúsculo.
A seguir temos um exemplo de uso, onde uma expressão com letras maiúsculas é passada para a função strtolower.
Listagem 2: Exemplo de uso do strtolower
<?php /*string strtolower (string conteudo)*/ $nome = "LINHA DE CÓDIGO"; $nome_minusculo = strtolower($nome); echo $nome_minusculo; ?>
O comando echo exibe então o valor “linha de código”
substr
Essa função retorna uma parte de um string passado como primeiro parâmetro, a partir de uma posição e com certo comprimento.
Este método pode ser chamado de três formas: informando apenas o início da parte, informando o início e o comprimento, informando o início e um valor negativo. Nesse último caso, o limite da parte a ser retornada é contado a partir do fim do string.
A seguir vemos um exemplo de cada tipo.
Listagem 3: Uso do substr informando apenas o início da parte
<?php /*string substr(string conteudo, int inicio [,int comprimento])*/ $nome = "Linha de Código"; $parte = substr($nome, 8); echo $parte; ?>
Este código terá como saída a palavra “Código”, pois são retornados todos os caracteres a partir da posição 8.
Listagem 4: Uso do substr informando o início de comprimento da parte
<?php /*string substr(string conteudo, int inicio [,int comprimento])*/ $nome = "Linha de Código"; $parte = substr($nome, 0, 5); echo $parte; ?>
O conteúdo escrito pela função echo será “Linha”, ou seja, os cinco primeiros caracteres a partir da posição 0 (primeira posição).
Listagem 5: Uso do substr informando início da parte e comprimento negativo
<?php /*string substr(string conteudo, int inicio [,int comprimento])*/ $nome = "Linha de Código"; $parte = substr($nome, 6, -7); echo $parte; ?>
Este código, por sua vez, terá como saída a palavra “de”. O início do substring é definido na posição 6 e, a partir do fim do string, são contados sete caractere “para trás”.
str_pad
Esta função recebe um string como parâmetro e retorna outro string com o conteúdo do primeiro complementado com alguns caracteres, de forma a atingir uma quantidade especificada.
Existem três chamadas possíveis para essa função: informando apenas o comprimento do novo string, informando o comprimento e o string usado para complementar o primeiro e, por último, informando o comprimento, o string complementar e o tipo de preenchimento.
Este último argumento, o tipo de preenchimento indica como o string original será preenchido. Os valores possíveis são:
- STR_PAD_LEFT ou 0: preenche o string oringal à esquerda.
- STR_PAD_RIGHT ou 1: complementa o string original à direita.
- STR_PAD_BOTH: preenche ambos os lados do string original.
O valor padrão, caso este parâmetro não seja informado, é STR_PAD_RIGHT.
Nas listagens a seguir vemos alguns exemplos de utilização.
Listagem 6: Uso básico do str_pad
<?php /*string str_pad(string entrada, int tamanho [,string complement[, int tipo]])*/ $nome = "PHP"; $nome_completo = str_pad($nome, 5); echo $nome_completo; ?>
Nesse código, passamos o texto “PHP” para a função e definimos que o retorno deveria ter 5 caracteres, sem informar qual texto deveria ser utilizado para a complementação. Assim, o texto PHP será complementado com dois espaços em branco à direita. O texto exibido é “PHP “.
Listagem 7: Uso do str_pad definindo string complementar.
<?php /*string str_pad(string entrada, int tamanho [,string complement[, int tipo]])*/ $nome = "PHP"; $nome_completo = str_pad($nome, 5, "*"); echo $nome_completo; ?>
No código acima, definimos que o string deve ser complementado com um asterisco. Dessa vez o retorno será “PHP**”, novamente com cinco caracteres ao todo.
Listagem 8: Usando str_pad definindo a posição do complemento
<?php /*string str_pad(string entrada, int tamanho [,string complement[, int tipo]])*/ $nome = "PHP"; $left = str_pad($nome, 5, "*", STR_PAD_LEFT); $right = str_pad($nome, 5, "*", STR_PAD_RIGHT); $both = str_pad($nome, 5, "*", STR_PAD_BOTH); echo $left; echo "\n"; echo $right; echo "\n"; echo $both; ?>
A Listagem 8 mostra os três valores possíveis para o quarto argumento. Ao fim da execução, a variável $left terá o valor “**PHP”¸ enquanto a variável $right possuirá o valor “PHP**” e a variável $both conterá “*PHP*”.
Observação 1: no lugar do nome dos tipos, poderia ser passado o valor de cada um (0, 1 ou 2, respectivamente).
Observação 3: quando a posição definida for STR_PAD_BOTH e o número de caracteres a ser adicionado for ímpar, o lado direito será priorizado, ou seja, preenchido primeiro. Por exemplo, se o comprimento passado acima fosse 6, a variável $both possuiria o valor “*PHP**”.
str_repeat
Essa função é usada para “repetir” um string uma quantidade definida de vezes. A sua sintaxe é bastante simples: o primeiro parâmetro é o texto a ser replicado e o segundo é um valor inteiro indicando a quantidade de vezes.
Abaixo vemos sua sintaxe e um exemplo de uso.
Listagem 9: Exemplo de uso da função str_repeat
<?php /*string str_repeat (string entrada, int quantidade)*/ $repetido = str_repeat("0", 5); echo $repetido; ?>
Ao executar o código acima, o valor “00000” será exibido, pois definimos que o texto “0” deve ser repetido cinco vezes.
Observação 3: apesar de ser um tanto quanto óbvio, vale salientar que o segundo parâmetro deve ser um número inteiro maior igual a zero.
strlen
Talvez essa seja a mais simples das funções aqui apresentadas, porém, não deixa de ser importante devido a seu uso ser muito comum. Ela retorna o comprimento de um texto passado como argumento.
Listagem 10: Exemplo de uso da função strlen
<?php /*string strlen (string entrada)*/ $qtd_char = strlen("Linha de Código"); echo $qtd_char; ?>
O valor exibido será “16”, pois o texto “Linha de Código” contém dezesseis caracteres.
str_replace
Também muito utilizada, a função str_replace serve para substituir um trecho de um texto por outro valor. Os argumentos que deve ser informados são, nessa ordem, o texto a ser substituído, o texto substituto, o texto que contém o valor a ser substituído.
No exemplo abaixo, temos o string “Olá, mundo”. Utilizamos então a função str_replace para substituir a palavra “mundo” por “leitor” e passar o resultado para outra variável.
Listagem 11: Exemplo de uso da função str_replace
<?php /*mixed str_replace (mixed procura, mixed substituo, mixed contexto)*/ $texto = "Olá, mundo."; $novo_texto = str_replace("mundo", "leitor", $texto); echo $novo_texto; ?>
O valor exibido será “Olá, leitor”.
strpos
Essa última função retorna a posição de um texto em outro, ou seja, é usada para definir se um texto contém certa expressão e, em caso positivo, em qual posição.
Na listagem abaixo, temos o texto “Bem vindo ao Linha de Código!” e desejamos localizar o valor “Código” e exibir a posição em que aparece no texto principal.
Listagem 12: Exemplo de uso da função strpos
<?php /*int strpos (string principal, string procurado)*/ $texto = "Bem vindo ao Linha de Código!"; $pos = strpos($texto, "Código"); echo $pos; ?>
O valor exibido será “22”, pois a palavra “Código” inicia na vigésima segunda posição.
Conclusão
Ao fim desse conteúdo, o leitor já deve estar apto ou ao menos ter maio facilidade para lidar com strings na linguagem PHP. Como foi visto, as funções possuem sintaxe bastante simples e nomes significativos, o que facilita o aprendizado.
Finalizo aqui esse artigo, grato pela atenção. Até a próxima oportunidade.