Tendo até mesmo pouco contato com a programação web, já deve ter visto ou utilizado uma string
. No PHP, temos as intruções echo
e print
para enviar uma string
para o navegador.
echo
Permite vários parâmetros.
1 |
|
Estando ativado no php.ini
o módulo short_open_tag, você pode executar o comando echo
, com a combinação de tags PHP e o sinal de =
.
1 | "Test"; = |
Retorna 1 após o envio da saída, pode ser usada em expressões e permite apenas um parâmetro.
1 |
|
Escape
No PHP, para imprimir uma string
, você pode usar aspas duplas ou simples. Podem haver casos em que seja necessário a impressão das aspas. Para que isso seja possível, temos duas formas: usar os 2 tipos de aspas ou o escape
(com a barra invertida).
1 |
|
O escape
também pode ser utilizado com outros caracteres. No exemplo abaixo, quando usamos o cifrão, o PHP interpreta que estamos tentando enviar o conteudo de uma variável.
1 |
|
Com o escape
, temos o resultado esperado.
1 |
|
É válido também mencionar que a barra invertida tem outra utilidade. Combinando a barra invertida com a letra n
(\n), o PHP interpreta como uma diretiva de nova linha. Importante lembrar que isso funciona apenas com aspas duplas, não temos o mesmo resultado com aspas simples.
1 |
|
Para ser possível ver isso no navegador, é necessário colocar dentro da tag pre
. Sendo o mais aconselhável, utilizar a tag br
para esse fim.
1 | <pre> |
Algumas funções de string
Vamos notar que as funções não seguem uma convenção de nomenclatura. Essa flexibilidade é um ponto forte ao mesmo tempo um ponto fraco do PHP.
ltrim
Retira espaço em branco (ou outros caracteres) do início de uma string.
1 | // string ltrim ( string $str [, string $character_mask ] ) |
rtrim
Esta função retorna uma string com espaços em branco retirados do final da string.
1 | // string rtrim ( string $str [, string $character_mask ] ) |
trim
Esta função retira os espaços em branco do início e do final da string.
1 | // string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) |
ucwords
Retorna uma string com o primeiro caractere de cada palavra em maiúscula, se os mesmos forem alfabéticos.
1 | // string ucwords ( string $str [, string $delimiters = " \t\r\n\f\v" ] ) |
srttoupper
Retorna string com todos os caracteres do alfabeto convertidos para maiúsculas. Saiba que o alfabeto é determinada pela localidade atual. Por exemplo, “a” com til (ã) não será convertido, pois o padrão do PHP é o local “C”.
1 | // string strtoupper ( string $string ) |
Podemos resolver o problema com a acentuação com a função setlocale()
. Veja abaixo:
1 | // string setlocale ( mixed $category , string $locale [, string $... ] ) |
Category é uma constante (ou string) especificando a categoria de funções afetadas pela definição local:
LC_ALL
- para tudo abaixoLC_COLLATE
- para comparação de strings, veja strcoll()LC_CTYPE
- para classificação de caracteres e conversão, por exemplo strtoupper()LC_MONETARY
- para localeconv()LC_NUMERIC
- para o separador decimal (Veja também localeconv())LC_TIME
- para formatação de data e hora com strftime()
1 |
|
srttolower
Retorna string com todos os caracteres do alfabeto convertidos para minúsculas. E também é preciso mudar a localidade da aplicação para aceitar os acentos da língua portuguesa.
1 | // string strtolower ( string $str ) |
ucfirst
Retorna uma string com o primeiro caractere em maiúscula, se o caractere for do alfabeto.
1 | // string ucfirst ( string $str ) |
lcfirst
Retorna uma string com o primeiro caractere em letra minúscula se o caractere for alfabético.
1 | // string lcfirst ( string $str ) |
str_word_count
Conta o número de palavras dentro de string. Se o format opcional não é especificado, então o valor de retorno será um inteiro representando o número de palavras encontrado. No caso de o format estar especificado, o valor de retorno será um array, cujo conteúdo é dependente do format.
1 | // mixed str_word_count ( string $string [, int $format [, string $charlist ]] ) |
strlen
Retorna o tamanho da string.
1 | // int strlen ( string $string ) |
strstr
Retorna parte da string haystack a partir da primeira ocorrência de needle até o final de haystack.
1 | // string strstr ( string $haystack , mixed $needle [, bool $before_needle ] ) |
stristr
Retorna tudo de haystack a partir da primeira ocorrência de needle até o final.
1 | // string stristr ( string $haystack , mixed $needle [, bool $before_needle ] ) |
strpos
Retorna a posição numérica da primeira ocorrência de needle dentro de haystack. Diferentemente de strrpos(), esta função pode ter uma string inteira como o parâmetro needle e toda a string será usada.
1 | // int strpos ( string $haystack , string $needle [, int $offset ] ) |
substr
Retorna a parte de string especificada pelo parâmetro start e length.
1 | // string substr ( string $string , int $start [, int $length ] ) |
str_replace
Esta função retorna uma string ou um array com todas as ocorrências de search em subject substituídas com o valor dado para replace. Se você não precisa de regras de substituição especiais (como expressões regulares), você sempre poderia usar esta função ao invés de ereg_replace() ou preg_replace().
1 | // mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) |
strip_tags
Esta função tenta retornar uma string retirando todas as tags HTML e PHP de str. Usa o mesmo sistema para retirar as tags do que fgetss().
1 | // string strip_tags ( string $str [, string $allowable_tags ] ) |
addslashes
Retorna uma string com barras invertidas antes de caracteres que precisam ser escapados para serem escapados em query a banco de dados, etc. Estes caracteres são aspas simples (‘), aspas duplas (“), barra invertida () e NUL (o byte NULL).
1 | // string addslashes ( string $str ) |
stripslashes
Remove barras invertidas de uma string.
1 | // string stripslashes ( string $str ) |
htmlentities
Esta função é idêntica a htmlspecialchars() em toda forma, exceto que com htmlentities(), todos caracteres que tem entidade HTML equivalente são convertidos para estas entidades. Se você está querendo decodificar (o inverso), você pode usar html_entity_decode().
1 | // string htmlentities ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] ) |
html_entity_decode
html_entity_decode() é o oposto da função htmlentities() no que converte todas as entidades HTML para os seus caracteres de string.
1 | // string html_entity_decode ( string $string [, int $quote_style [, string $charset ]] ) |
str_shuffle
str_shuffle() mistura uma string. Uma permutação de todas as possibilidades é criada.
1 | // string str_shuffle ( string $str ) |
md5
Calcula o “hash MD5” de str usando » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e devolve esse hash.
1 | // string md5 ( string $str [, bool $raw_output ] ) |
sha1
Calcula a hash sha1 de str usando » US Secure Hash Algorithm 1, e retorna esta hash. A hash é um número hexadecimal de 40 caracteres. Se o parâmetro opcional raw_output for TRUE, então o resultado é retornado em um formato binário com o tamanho de 20.
1 | // string sha1 ( string $str [, bool $raw_output ] ) |
Conclusão
Há grandes possibilidades de se trabalhar com string no PHP. E com certeza, utilizará muito todas as funções mostradas acima. A dica é brincar bastante com elas e com as demais. Assim, fixará o conhecimento da linguagem e terá uma resposta mais rápida para possíveis questões que apareção durante o desenvolvimento.