Páginas

terça-feira, 17 de dezembro de 2013

Funções de string PHP para letras maiúsculas e minúsculas

Existem cinco funções muito comuns em PHP com a capacidade de transformar letras maiúsculas em minúsculas e vice-versa. Essa funções são:

strtoupper

strtouppper é usada para converter um texto para letras maiúsculas. Ela possui como único argumento o texto que será convertido.





$nome = 'Eduardo Monteiro';
$nome= strtoupper($nome);
// imprime EDUARDO MONTEIRO
print $nome;
Documentação: http://www.php.net/manual/pt_BR/function.strtoupper.php

strtolower

strtolwer converte as letras de um texto para letras minúsculas. Ela possui como argumento único, o texto que será convertido.





$nome = 'Eduardo Monteiro';
$nome = strtolower($nome);
// imprime eduardo monteiro
print $nome;
Documentação: http://www.php.net/manual/pt_BR/function.strtolower.php

ucfirst

Converte a primeira letra de um texto para maiúsculo ou caixa alta, preservando o restante do texto sem alterações. Ela recebe como único argumento, o texto que será alterado.





$texto = 'eduardo monteiro';
$texto = ucfirst($texto);
// imprime Eduardo monteiro
print $texto;
Documentação: http://www.php.net/manual/pt_BR/function.ucfirst.php

lcfirst

Faz o processo inverso de ucfirst, convertendo a primeira letra do texto para minúsculo Possui apenas um argumento que é o texto a ser alterado.





$nome = 'Eduardo Monteiro';
$nome = lcfirst($nome);
// imprime eduardo Monteiro
print $nome;
Documentação: http://www.php.net/manual/pt_BR/function.lcfirst.php

ucwords

Converte a primeira letra de cada palavra de um texto para maiúscula. Tem apenas um argumento, que é o texto à ser alterado.





$nome = 'eduardo monteiro';
$nome = ucwords($nome);
// imprime Eduardo Monteiro
print $nome;
Documentação: http://www.php.net/manual/pt_BR/function.ucwords.php

Funções de string PHP para retirar espaços

Em seu uso básico, a linguagem PHP é rica de funções para retirar espaços e caracteres indesejados de textos, as rotinas mais comuns retiram espaços em branco e alguns caracteres invisíveis dos textos. As funções para isso são:

ltrim

Retira os espaços em branco localizados no lado esquerdo de um texto. Possui apenas um argumento, que é o texto a ser alterado.





$texto = "    texto com espaços";
$texto = ltrim($texto);
// imprime "texto com espaços"
print $texto;
Documentação: http://www.php.net/manual/pt_BR/function.ltrim.php

rtrim

Retira os espaços em branco localizados no lado direito de um texto. Essa rotina possui apenas um argumento, que é o texto à ser alterado.





$texto = "texto com espaços     ";
$texto = rtrim($texto);
// imprime "texto com espaços"
print $texto;
Documentação: http://www.php.net/manual/pt_BR/function.rtrim.php

trim

A função trim retira os espaços encontrados em ambos os lados de um texto, no lado direito e esquerdo. Isso faz da função trim uma das funções mais usadas em PHP para string. Ela possui apenas um argumento, que é o texto à ser alterado.




5
$texto = "    texto com espaços   ";
$texto = trim($texto);
// imprime "texto com espaços"
print $texto;
Documentação: http://www.php.net/manual/pt_BR/function.trim.php

Função de string PHP para acrescentar caracteres

Estas são funções úteis para adicionar textos à um texto já existente ou criar textos com caracteres específicos.

str_repeat

Esta função retornar um texto criado à partir de outro texto repetido várias vezes. Ela possui dois argumentos, onde o primeiro é o texto que será repetido e o segundo é um inteiro que indica a quantidade de repetições.


/ imprime =-==-==-==-==-=
print str_repeat('=-=', 5);
Documentação: http://www.php.net/manual/pt_BR/function.str-repeat.php

str_pad

Esta função funciona de modo parecido com str_repeat, mas a diferença está no fato de que str_pad adiciona um texto repetidas vezes em outro texto, acrescentando caracteres à direta, à esquerda ou ambos os lados. Ela possui quatro argumentos, o texto à ser alterado, o tamanho máximo que o texto alterado deve ter, o texto que será usado para preencher o texto original e uma constante, a qual indica o lado em que o texto será acrescentado. Os dois primeiros argumentos são obrigatórios e os dois últimos são opcionais.





$texto = 'oi';
print str_pad($texto, 10);                      // imprime "oi        "
print str_pad($texto, 10, '=-=', STR_PAD_LEFT); // imprime "=-==-==-oi"
print str_pad($texto, 10, '+', STR_PAD_BOTH);   // imprime "++++oi++++"
print str_pad($texto, 10, 'X');                 // imprime "oiXXXXXXXX"
Documentação: http://www.php.net/manual/pt_BR/function.str-pad.php

Funções de string PHP compatíveis com arrays

Existem algumas funções de string em PHP que servem para transformar textos em arrays e arrays em texto. Essas funções são:

explode

Divide um texto em pedaços, produzindo um array como resultado da operação. Ela possui três argumentos, onde o primeiro é um delimitador para a divisão do texto, o segundo é o texto à ser dividido em pedaços e o último é um inteiro que indica a quantidade máxima de divisões do texto original. O terceiro argumento dessa função é opcional.



$texto = "item1;item2;item3;item4;item5";
$pedacos = explode(";", $texto);
print_r($pedacos);
O código acima produz o seguinte resultado:








Array
(
    [0] => item1
    [1] => item2
    [2] => item3
    [3] => item4
    [4] => item5
)
Documentação: http://www.php.net/manual/pt_BR/function.explode.php

implode

Junta todos os elementos de um array num único texto. Ela possui dois argumentos, onde o primeiro é a cola, um caractere que será usado para juntar todos os elementos do array, e o segundo é o array que irá produzir o texto.





$lista = array("uva","melancia","banana","maçã");
$texto = implode(" - ", $lista);
// imprime "uva - melancia - banana - maçã"
print $texto;
Documentação: http://www.php.net/manual/pt_BR/function.implode.php

Funções de string PHP para diversos fins

Por fim, vou juntar várias funções php para string com diversas finalidades. Elas também são muito úteis nos mais virados cenários e soluções para desenvolvedores web.

strlen

Retorna um inteiro que indica o tamanho de um texto. Possui apenas um argumento, que é o texto à ter seu tamanho descoberto.


$texto = "meu texto qualquer";
print strlen($texto); // imprime 18
Documentação: http://www.php.net/manual/pt_BR/function.strlen.php

strpos

Retorna a posição da primeira ocorrência de um texto dentro de outro. Possui dois argumentos, o primeiro é o palheiro e o segundo é a agulha. Assim você pode procurar sua agulha no palheiro. :D



$texto = "maria antônia algusta de oliveira";
$pos = strpos($texto, "algusta");
print $pos; // imprime 15
Cuidado com strpos: Como ela retorna a primeira ocorrência de um texto dentro de outro, ela pode retornar o valor “0″ (zero) para indicar que a agulha está foi encontrada no início do palheiro. Observe só:



$texto = "abcd";
$pos = strpos($texto, "a");
print $pos; // imprime 0
Para testar se a agulha não foi encontrada no palheiro, é necessário usar o operador de comparação “===”. Se a agulha não foi encontrada, a função strpos retorna o boolean FALSE em vez de zero. Observe o outro exemplo:





$texto = "abcd";
$pos = strpos($texto, "e");
if ($pos === FALSE) {
    print "A agulha não foi encontrada no palheiro";
}
Documentação: http://www.php.net/manual/pt_BR/function.strpos.php

strrpos

Funciona da mesma forma que strpos, mas ela encontra a posição da última ocorrência de um texto dentro de outro. Ela possui dois argumentos obrigatórios, o primeiro é o palheiro e o segundo é a agulha.



$texto = "maria antônia algusta de oliveira";
$pos = strrpos($texto, "i");
print $pos; // imprime 31
Documentação: http://www.php.net/manual/pt_BR/function.strrpos.php

substr

Retorna parte de um texto. Essa função pode receber três argumentos, o primeiro é um texto, o segundo é um número que indica o início do texto que será extraído do texto original e o terceiro argumento é um número, que indica o tamanho do texto que será extraído do texto original. Nessa função, o terceiro argumento é opcional.





$texto = "abcdefghij";
print substr($texto, 5) . "<br>";
print substr($texto, 6, 4) . "<br>";
print substr($texto, -1) . "<br>";
print substr($texto, -3, 3) . "<br>";
O código acima produz uma saída como mostrado abaixo:



4
fghij
ghij
j
hij
Note que, quando usamos um número negativo no segundo argumento de substr ela muda de comportamento, recortando o texto da direita para a esquerda.
Documentação: http://www.php.net/manual/pt_BR/function.substr.php

strstr e stristr

Esta função serve para encontrar a primeira ocorrência de um texto dentro de outro texto. Ela funciona de forma semelhante a strpos, mas no lugar de retornar a posição do texto encontrado, ele retorna literalmente o texto que encontrou. Essa função também segue o padrão de agulha no palheiro.
Esta função possui três argumentos, o primeiro é um texto onde iremos fazer a busca, também chamado de palheiro, o segundo é texto que vamos procurar no palheiro, também chamado de agulha e o terceiro argumento é um boolean que manda a função retornar o que vem antes ou depois do texto encontrado.
Note que as funções de busca em PHP sempre usam a analogia de procurar a agulha no palheiro.





$texto = "meuemail@gmail.com";
// imprime "@gmail.com"
print strstr($texto, "@");
// imprime "meuemail"
print strstr($texto, "@", true);
A função stristr possui o mesmo funcionamento que a função strstr. A única diferença entre as duas é que stristr não faz distinção entre letras maiúsculas e letras minúsculas.
Um outro uso comum para strstr e stristr é a verificação se um texto existe dentro de outro texto, como uma espécie de in str. Para fazer isso também é necessário usar o operador === para evitar problemas com a comparação. Observe o código abaixo:







$texto = "Olá Mundo";
if (stristr($texto, "mundo") === FALSE) {
    print "Texto não encontrado.";
}
else {
    print "Encontrei o texto.";
}
Documentação: http://www.php.net/manual/pt_BR/function.strstr.php e http://www.php.net/manual/pt_BR/function.stristr.php

str_replace e str_ireplace

Substitui todas as ocorrências de um texto dentro de outro texto por um terceiro texto. A definição parece complicada, mas a prática é bem mais simples.
Essas funções possuem três argumentos básicos: o primeiro é o texto que procuramos no texto original, o segundo é o texto que substituirá o texto encontrado no texto original e o terceiro argumento é o texto original. Observe os exemplos abaixo:







$texto = "Eu vou para a escola";
// imprime "Eu não vou para a escola"
print str_replace("vou", "não vou", $texto);
// imprime "Você vai para a escola"
print str_ireplace("eu vou", "Você vai", $texto);
str_ireplace  não faz distinção entre caracteres maiúsculos e minúsculos, enquanto str_replace faz esse tipo de distinção.

Nenhum comentário:

Postar um comentário