Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Comunidade de Tecnologia
Comunidade de Tecnologia
Uma string é uma sequência de caracteres, onde 1 caractere corresponde a 1 byte (8 bits). O PHP oferece suporte a um conjunto de 256 caracteres, por isso, não possui suporte integrado para Unicode.
O Unicode é uma extensa tabela que relaciona um número único (code point) a cada letra ou símbolo diferente de todos os alfabetos utilizados em todo o mundo. Saiba mais sobre unicode aqui.
Veremos neste artigo uma função para tratar caracteres em unicode.
Uma string literal pode ser especificada de quatro formas diferentes.
echo 'iso é uma string comum';
echo "iso é uma string que interpreta sequência de escape como caracteres especiais";
Sequências | Significado |
---|---|
\n | Nova linha (LF ou 0x0A (10) em ASCII) |
\r | Retorno de carro (CR ou 0x0D (13) em ASCII) |
\t | Tabulação horizontal (HT ou 0x09 (9) em ASCII) |
\v | Tabulação vertical (VT ou 0x0B (11) em ASCII) |
\e | Escape (ESC or 0x1B (27) em ASCII) |
\f | Form feed (FF ou 0x0C (12) em ASCII) |
\\ | contrabarra ou barra invertida |
\$ | Sinal de cifrão |
\" | aspas duplas |
$str = <<<EOD
Exemplo de uma string
distribuída em várias linhas
utilizando a sintaxe heredoc.
EOD;
<?php
echo <<<'EOD'
Exemplo de string abrangendo várias linhas
usando a sintaxe nowdoc. As barras invertidas são sempre tratadas literalmente,
exemplo: \\ e \'.
EOD;
Para saber mais sobre essas 4 formas de especificar uma string acesse a documentação.
Neste artigo vamos abordar algumas funções de manipulação de string, caso queira se aprofundar veja a lista de funções na documentação oficial.
A função trim retira espaço no ínicio e final de uma string.
$nomeCompleto = ' marcos vinicius. ';
$trim = trim($nomeCompleto);
echo $trim;
// O exemplo acima irá imprimir:
// marcos vinicius.
$text = "\t\tThese are a few words :) ... ";
$trimmed = trim($text, " \t.");
var_dump($trimmed);
// O exemplo acima irá imprimir:
// string(24) "These are a few words :)"
A função strlen retorna o tamanho de uma string.
$str = 'abcdef';
echo strlen($str); // 6
$str = 'Marcos Vinicius';
echo strlen($str); // 15
A função substr retorna uma parte de uma string.
substr(string, start, length);
$string = 'DevPro Community';
$devpro= substr($str, 0, 6);
echo $devpro;
A função strstr encontra a primeira ocorrencia de uma string.
$string = "que interessante, não é mesmo, Arnaldo?";
echo strstr($string, ",");
// Saída
, não é mesmo, Arnaldo?
A função strrchr encontra a última ocorrência de um caractere em uma string.
$string = "que interessante, não é mesmo, Arnaldo?";
echo strrchr($string, ",");
// Saída
, Arnaldo?
Exemplo utilizando a função strlen e substr.
$str = 'Marcos Vinicius';
echo "A string contém ",strlen($str), "caractres."; // 15
// Exemplo
if($str > 8) {
// substr(string, start)
$caracter_3 = substr($str, 0, 3);
echo "Se a string contém mais de 8 caracteres, então imprime somente 3 caracteres: {$caracter_3}";
}
A string contém 15 caracteres.
Se a string contém mais de 8 caracteres, então imprime somente 3 caracteres: Mar
strtolower — Converte uma string para minúsculas.
strtoupper — Converte uma string para maiúsculas
Essas funções não convertem alguns caracteres com acentuações. Para isso é necessário usar a função com multibyte. mb_strtolower e mb_strtoupper() ou ainda a função mb_convert_case().
// LOWER
$string = 'MaRcOs VinÍCIUS não É VacilÃo.';
$string_lower = strtolower($string);
echo "<strong>strToLower: </strong>{$string_lower}", "<br>";
$mb_string = "VOVÔ TAMBÉM NÃo.";
$mb_string_lower = mb_strtolower($mb_string );
echo "<strong>mb_strToLower: </strong>{$mb_string_lower}", "<br>";
// UPPER
/*
* $string_u = 'marcos vinícius não é vacilão.';
* $string_upper = strtoupper($string_u);
* echo "<strong>strToUpper: </strong>{$string_upper}", "<br>";
*
* $mb_string_u = "vovô também não.";
* $mb_string_lower = mb_strtoupper($mb_string_u );
* echo "<strong>mb_strToUpper: </strong>{$mb_string_lower}", "<br>";
*
*/
$string_u = 'marcos vinícius não é vacilão.';
$mb_string_u = "vovô também não.";
$upper = [
"STR_TO_UPPER" => strtoupper($string_u),
"MB_STR_TO_UPPER" => mb_strtoupper($mb_string_u)
];
echo "<br><pre>",print_r($upper, true), "</pre><br>";
// UC
$nome = 'marcos vinicius macedo';
echo "<b>ucWords: </b>", ucwords($nome), "<br>";
$sobrenome = 'da silva';
echo "<b>ufFirst: </b>", ucfirst($sobrenome), "<br><br>";
// MB_CONVERT_CASE
$name = 'marcos vinicius macedo silva';
$a = [
"MB_CASE_TITLE" => mb_convert_case($name, MB_CASE_TITLE),
"MB_CASE_UPPER" => mb_convert_case($name, MB_CASE_UPPER),
"MB_CASE_LOWER" => mb_convert_case($name, MB_CASE_LOWER)
];
echo "<pre>",print_r($a, true), "</pre>";
// Saída do código abaixo
A função strpos encontra a posição da primeira ocorrência de uma string.
A função strrpos encontra a posição da última ocorrência de um caractere em uma string.
// STRPOS
$nome = 'Marcos Silva';
echo strpos($nome, "S");
// STRRPOS
$sobrenome = 'https://google.com.br';
echo strrpos($sobrenome, '.');
// Exemplo
$imagem = 'https://cdn.pixabay.com/photo/2020/01/26/10/33/chess-4794265_960_720.jpg';
$pos = strrpos($imagem, '.'); // strrpos() Pega a última ocorrência de um caracter numa string
$lenght = strlen($imagem); // strlen() Pega o tamanho de uma string
$extension = substr($imagem, $pos, $lenght); // substr() Retorna a parte de uma string determinada pelo start e o length
echo "A extensão é {$extension}";
A função str_replace substitui todas as ocorrências da string de procura com a string de substituição.
str_replace(procurar_string, substituir_string, string)
$frase = "você comeria frutas, vegetais, e fibra todos os dias.";
echo str_replace(["frutas", "vegetais", "fibra", "."], ["morango", "banana", "maça", "?"], $frase);
A função explode divide uma string em strings.
$frase = "você comeria frutas, vegetais, e fibra todos os dias.";
$frase_a = explode(",", $frase);
echo "<pre>", print_r($frase_a, true), "</pre>";
A função mb_parse_str() analisa dados GET / POST / COOKIE e definir a variável global.
mb_parse_str($str, $result);
$endpoint = "nome=Marcos&sobrenome=Silva&[email protected]";
mb_parse_str($endpoint, $parseEnpoint);
var_dump([
$endpoint, $parseEnpoint
]);s
A função mb_convert_encoding converte uma string de um encoding para outro. Essa função substitui a utf8_encode que foi depreciada na versão do php 8.
Exemplo prático:
mb_convert_encoding($item['campo1'],"UTF-8","ISO-8859-1")
Detalhe dos parametros da função:
mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|false
Artigo sobre Unicode, para complementar o conhecimento sobre strings e caracteres e entender como os computadores interpretam esses “símbolos”.
Contribuição: Sinta-se à vontade para deixar seus comentários e contribuições para enriquecer este artigo. Sempre que for relevante, o artigo será atualizado com as informações adicionais fornecidas pelos leitores.