Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » Web » PHP » Referências Básicas de Tratamento de String

Referências Básicas de Tratamento de String

Como PHP tem por base linguagens como PERL, C e C++, grande parte de suas funções são baseadas em funções existentes nessas linguagens.

O que será mostrado neste artigo é uma pequena referência de tratamento de strings e caracteres para nos embasarmos nas próximas páginas que virão.

Contagem de Caracteres - strlen ()

A função strlen serve para contar o número de caracteres de uma string, inclusive os espaços.

Esta função recebe como parâmetro uma string (mesmo que ela seja vazia).

<?php
  $minhaStr1 = "";
  $minhaStr2 = "TI Expert";
  echo ("String 1: " . strlen($minhaStr1) . " caracteres.<BR>");
  echo ("String 2: " . strlen($minhaStr2) . " caracteres.<BR>");
?>

Letras Maiúsculas - strtoupper ()

Outra função muito usada é o strtoupper. Esta função retorna uma string com todos os caracteres convertidos em maiúsculos.

Letras Minúsculas - strtolower ()

A função strtolower faz o oposto de strtoupper.

Um fato importante é entender que ambas as funções são para converter todos os caracteres em maiúsculos ou minúsculos. Ou seja, os caracteres não são trocados. Por exemplo: StrING em nenhum momento ficará sTRing.

<?php
  $codigo = "abc123-TIEx";
  $email = "MEU.email@mEUDOmInIO.coM";
  $codigoConvertido = strtoupper($codigo);
  $emailConvertido = strtolower($email);
  echo("Codigo Original: " . $codigo .
       "<BR>Codigo Convertido: " . $codigoConvertido .
       "<BR>Email Original: " . $email .
       "<BR>Email Convertido: " . $emailConvertido);
?>

Resultando em:

Codigo Original: abc123-TIEx
Codigo Convertido: ABC123-TIEX
Email Original: MEU.email@mEUDOmInIO.coM
Email Convertido: meu.email@meudominio.com

CTYPE

Se quisermos ter um controle ainda maior na análise e controle de caracteres e strings podemos fazer uso da biblioteca ctype da linguagem C.

Desde a versão 4.2.0 para Windows do PHP, esta biblioteca já vem habilitada para uso.

PHP utiliza exatamente as mesmas funções booleanas, apenas substituindo o prefixo is por ctype_ .

  • ctype_alnum — Verifica se os caracteres são alfanuméricos;
  • ctype_alpha — Verifica se os caracteres são apenas alfabéticos;
  • ctype_cntrl — Verifica se os caracteres são de controle;
  • ctype_digit — Verifica se os caracteres são apenas numéricos;
  • ctype_graph — Verifica se os caracteres são imprimíveis. Isso deduz que sejam caracteres possuam alguma forma que se possa visualizar, portanto, espaços em branco não são considerados imprimíveis por esta função;
  • ctype_lower — Verifica se os caracteres estão minúsculos;
  • ctype_print — Verifica se os caracteres são imprimíveis. Isso exclui quebras de linhas e outros controles de fluxo de texto;
  • ctype_punct — Verifica se é um caractere imprimível que não é um espaço em branco, letra ou numéro, como por exemplo, dois-pontos (:), ponto de interrogação (?), vírgula (,), ...;
  • ctype_space — Verifica se os caracteres são espaços em branco;
  • ctype_upper — Verifica se os caracteres são maiúsculos
  • ctype_xdigit — Verifica se os caracteres representam um dígito hexadecimal. Ou seja, números e letras de A a F.

Caso queira mais detalhes sobre esta biblioteca, leia o artigo de C/C++ entitulado "Trabalhando com Caracteres, a biblioteca CTYPE".

Abaixo está um exemplo com algumas funções de CTYPE em PHP.

<?php
  $corBranca = "FFFFFF";
  echo ("<BR>É alfanumérico? - ");
  echo (ctype_alnum($corBranca) ? "Sim" : "Não");
  echo ("<BR>É uma letra? - ");
  echo (ctype_alpha($corBranca) ? "Sim" : "Não");
  echo ("<BR>É um número? - ");
  echo (ctype_digit($corBranca) ? "Sim" : "Não");
  echo ("<BR>É imprimível? - ");
  echo (ctype_alnum($corBranca) ? "Sim" : "Não");
  echo ("<BR>É alguma pontuação? - ");
  echo (ctype_punct($corBranca) ? "Sim" : "Não");
  echo ("<BR>É algum espaço em branco? - ");
  echo (ctype_space($corBranca) ? "Sim" : "Não");
  echo ("<BR>É maiúsculo? - ");
  echo (ctype_upper($corBranca) ? "Sim" : "Não");
  echo ("<BR>É minúsculo? - ");
  echo (ctype_lower($corBranca) ? "Sim" : "Não");
  echo ("<BR>Pode ser um hexadecimal? - ");
  echo (ctype_xdigit($corBranca) ? "Sim" : "Não");
?> 

Resultado:

É alfanumérico? - Sim
É uma letra? - Sim
É um número? - Não
É imprimível? - Sim
É alguma pontuação? - Não
É algum espaço em branco? - Não
É maiúsculo? - Sim
É minúsculo? - Não
Pode ser um hexadecimal? - Sim

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 11887 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog