Funções de String do PHP
Strings são elementos fundamentais no desenvolvimento web, mas sua manipulação pode, por vezes, representar um desafio para os desenvolvedores. Para simplificar esse processo, o PHP oferece uma ampla variedade de funções dedicadas ao tratamento e à manipulação de strings, tornando as tarefas mais práticas e eficientes.
Neste post, exploraremos algumas das principais funções que o PHP oferece para a manipulação de strings.
Antes de analisarmos as funções de manipulação de strings, é importante compreender o conceito de Multibyte. Normalmente, um caractere é codificado utilizando um único byte, o que é suficiente para representar letras como “A”, “b” entre outras do alfabeto básico. No entanto, um byte não é suficiente para abranger os caracteres de outros idiomas ou mesmo acentos, exigindo o uso de mais de um byte para representá-los.
Essa característica não seria um grande problema se o objetivo fosse apenas exibir textos. No entanto, muitas funções no PHP que contam caracteres ou manipulam suas posições baseiam-se na contagem de bytes, e não de caracteres propriamente ditos. Para lidar com essa limitação, o PHP oferece o módulo mbstring, que disponibiliza funções específicas com o prefixo mb_
. Essas funções são projetadas para trabalhar corretamente com caracteres multibyte, operando de maneira semelhante às suas equivalentes sem o prefixo.
Por exemplo, as funções strlen
e mb_strlen
calculam o tamanho de uma string. Se passarmos o texto "Coração"
para strlen
, ela retornará 9
, pois os caracteres “ç” e “ã” utilizam 2 bytes cada para sua representação. Já a função mb_strlen
, por lidar diretamente com caracteres multibyte, retornará o valor esperado de 7
.
strlen
strlen
é um uma função bem conhecida que retorna o tamanho de uma string passada como parâmetro.
$txt = "Lorem ipsum dolor sit amet";
echo strlen($txt)."\n";
// 26
$txt = "Meu coração bate como caroço de abacate";
echo strlen($txt)."\n";
// 42 ??? - os caracteres ç e ã utilizam mais de um byte para ser representados
$txt = "Meu coração bate como caroço de abacate";
echo mb_strlen($txt)."\n"; // utilizando a versão multibyte da função
// 39
strpos
A função strpos
é utilizada para localizar a primeira ocorrência de uma substring dentro de uma string. A contagem das posições na string inicia no índice 0.
- Primeiro parâmetro: a string na qual será feita a pesquisa.
- Segundo parâmetro: a substring (letra, palavra ou frase) que será pesquisada.
- Terceiro parâmetro(opcional): o offset, ou seja, a posição inicial na string a partir da qual a pesquisa será realizada.
A função retorna a posição da substring encontrada ou false
caso ela não seja localizada.
$txt = "Uma frase de exemplo.";
$posicao = strpos($txt, 'frase');
echo "A posição da palavras 'frase' é: " . $posicao . "\n";
// Saída: A posição da palavras 'frase' é: 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
U | m | a | f | r | a | s | e | d | e | e | x | e | m | p | l | o |
$txt = "Um, dois, um, dois!";
$posicao1 = strpos($txt, 'dois');
$posicao2 = strpos($txt, 'dois', 8); // irá buscar somente a partir da posição 8 do $txt
echo "A primeira palavra 'dois' é: " . $posicao1 . "\n";
echo "A segunda palavra 'dois' é: " . $posicao2 . "\n";
// A primeira palavra 'dois' é: 4
// A segunda palavra 'dois' é: 14
$txt = "Algo para não encontrar!";
$posicao = mb_strpos($txt, '@'); // irá retornar false pois o caractere @ não esta presente em $txt
echo "O '@' foi encontrado: " . ( $posicao ? "SIM" : "NÃO") . "\n";
// O '@' foi encontrado: NÃO
A função strpos
é case-sensitive, ou seja, diferencia letras maiúsculas de minúsculas. Por exemplo, uma pesquisa por "Frase"
e "frase"
será tratada como distinta.
Se for necessário realizar uma pesquisa case-insensitive, utilize a função stripos
, que é a versão insensível a maiúsculas e minúsculas de strpos
.
str_contains
A função str_contains
verifica se uma substring está presente dentro de outra string.
- Primeiro parâmetro: a string na qual será realizada a pesquisa.
- Segundo parâmetro: a substring que se deseja encontrar.
A função retorna um valor booleano: true
, se o texto for encontrado e false
, caso contrário.
$txt = "PHP é um linguagem muito legal!";
$presente = str_contains($txt, 'PHP'); // retorna true
echo "Contem a palavra 'PHP'? " . ( $presente ? "SIM" : "NÃO") . "\n";
$presente = str_contains($txt, 'chata'); // retorna false
echo "Contem a palavra 'chata'? " . ( $presente ? "SIM" : "NÃO") . "\n";
str_starts_with
A função str_starts_with
verifica se uma string começa com uma determinada substring.
- Primeiro argumento: a string na qual será feita a pesquisa.
- Segundo argumento: a substring que se deseja verificar se está no começo.
A função retorna um valor booleano: true
, se a string começar com a substring fornecida ou false
, caso contrário.
$url = "https://www.botecodigital.com.br";
$comecaCom = str_starts_with($url, 'https://');
echo "É uma url https? " . ($comecaCom ? "SIM" : "NÃO") . "\n";
$url = "http://www.botecodigital.com.br";
$comecaCom = str_starts_with($url, 'https://');
echo "É uma url https? " . ($comecaCom ? "SIM" : "NÃO") . "\n";
str_ends_with
A função str_ends_with
é semelhante à função str_starts_with
, com a única diferença sendo que ela verifica se uma string termina com uma determinada substring, em vez de verificar o início.
- Primeiro argumento: a string na qual será feita a pesquisa.
- Segundo argumento: a substring que se deseja verificar no final da string.
A função retorna um valor booleano: true
, se a string terminar com a substring fornecida ou false
, caso contrário.
$filename = "/home/rodrigo/foto.png";
$ehPNG = str_ends_with($filename, '.png');
echo "O arquivo $filename termina com '.png'? " . ($ehPNG ? "SIM" : "NÃO") . "\n";
$filename = "/home/rodrigo/outra-foto.jpg";
$ehPNG = str_ends_with($filename, '.png');
echo "O arquivo $filename termina com '.png'? " . ($ehPNG ? "SIM" : "NÃO") . "\n";
substr
A função substr
retorna uma parte de uma string. Ela funciona da seguinte maneira:
- Primeiro parâmetro: o texto do qual se deseja extrair uma parte.
- Segundo parâmetro: o offset, ou seja, o deslocamento inicial a partir do início da string. Se o valor for negativo, o deslocamento será contado a partir do final da string.
- Terceiro parâmetro (opcional): a quantidade de caracteres que deve ser extraída a partir do offset. Se esse parâmetro não for fornecido, a função retornará até o final da string.
$txt = "Uma frase de exemplo para teste";
echo substr($txt, 0, 9) . "\n";
// retorna "Uma frase" já que o offset é 0 (o inicio do texto) e retorna 9
// caracteres chegando até a posição 8
echo substr($txt, 10, 10) . "\n";
// retorna "de exemplo" já que o offset é 10 ou seja o caracter "d" e a
// partir dele contando 10 caracteres chega no caracter o na posição 19
echo substr($txt, 13) . "\n";
// retorna "exemplo para teste" já que o offset é 13 na letra "e" e como não
// é passado o terceiro argumento ele retorna até o final da string na
// posição 30
echo substr($txt, -10) . "\n";
// retorna "para teste" já que no offset é passado um valor negativo então
// ele começa contando 10 caracteres do final para o começo chegando
// na posição 21 e o terceiro argumento não é passado então
// ele retorna até o final do texto. É interessante para pegar os últimos
// x caracteres de uma string
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
U | m | a | f | r | a | s | e | d | e | e | x | e | m | p | l | o | p | a | r | a | t | e | s | t | e |
str_replace
A função str_replace
substitui todas as ocorrências de uma string por outra dentro de um texto. Sua utilização funciona da seguinte forma:
- Primeiro parâmetro: a string ou um array de strings a serem buscadas no texto. Se for passado um array, cada elemento será buscado e substituído no texto.
- Segundo parâmetro: a string ou um array que contém as substituições. Se for passado um array, cada elemento substituirá o elemento de mesma posição no array de busca.
- Terceiro parâmetro: o texto ou array onde será realizada a busca e substituição. Se for passado um array a substituição será realizada em cada elemento do array.
- Quarto parâmetro (opcional): uma variável que receberá a quantidade de substituições realizadas pela função.
- O retorno: a função retornará uma nova string com os valores substituídos.
$txt = "Uma frase de exemplo para teste";
echo str_replace("exemplo", "ex.", $txt) . "\n";
// Saida: Uma frase de ex. para teste
// sem muito mistério enconta a palavra "exemplo" em $txt e substitui para "ex."
echo str_replace(['a','e', 'o'], ['4','3','0'], $txt) . "\n";
// Saída: Um4 fr4s3 d3 3x3mpl0 p4r4 t3st3
// para todo caracter "a" encontrado substitui pelo caractere "4" já que "a" é o
// primeiro elemento do array de busca e "4" é o primeiro elemento do array
// de substituição e assim sucessivamente para todos os elementos
str_repeat
A função str_repeat
repete uma string um número específico de vezes. O primeiro parâmetro é a string que será repetida. O segundo parâmetro é um número inteiro que define quantas vezes a string será repetida.
echo str_repeat("-", 10) . "\n";
// Saída: ----------
echo str_repeat("-+-", 10) . "\n";
//Saída: -+--+--+--+--+--+--+--+--+--+-
ucfirst
A função ucfirst
converte a primeira letra de uma string para maiúscula, deixando o restante do texto inalterado.
$txt = "vamos lá pessoal!";
echo ucfirst($txt) . "\n";
// Saída: "Vamos lá pessoal!"
ucwords
A função ucwords
converte a primeira letra de cada palavra em uma string para maiúscula, enquanto mantém o restante dos caracteres inalterado.
$txt = "rodrigo pletsch aramburu";
echo ucwords($txt) . "\n";
// Saída: Rodrigo Pletsch Aramburu
strtoupper
A função strtoupper
converte todos os caracteres de uma string para maiúsculas.
$txt = "funções de string do PHP";
echo mb_strtoupper($txt) . "\n";
// FUNÇÕES DE STRING DO PHP
strtolower
A função strtolower
converte todos os caracteres de uma string para minúsculas.
$txt = "FUNÇÕES DE STRING DO PHP";
echo mb_strtolower($txt) . "\n";
// funções de string do php
trim
A função trim
remove espaços em branco ou outros caracteres específicos do início e do final de uma string.
- Primeiro parâmetro: a string que será “aparada”.
- Segundo parâmetro (opcional): uma lista de caracteres a serem removidos das extremidades da string. Se não for especificado, o padrão é remover espaços em branco (incluindo tabulações, quebras de linha e outros caracteres de espaço).
$nome = " \t João dos Rios \n ";
echo $nome . "\n";
echo trim($nome) . "\n";
// Saída:
// " João dos Rios
// "
// "João dos Rios"
$nome = "### João dos Rios ###";
echo $nome . "\n";
echo trim($nome, "# ") . "\n";
// Saída
// ### João dos Rios ###
// João dos Rios
// retirou tanto o caractere # quanto o espaço já que os dois estavam
// na lista de caracteres do segundo parâmetro
ltrim e rtrim
As funções ltrim
e rtrim
funcionam de maneira semelhante à função trim
, mas com diferenças específicas:
ltrim
: remove caracteres apenas do início (esquerda) da string.rtrim
: remove caracteres apenas do final (direita) da string.
Ambas aceitam os mesmos parâmetros:
- Primeiro parâmetro: a string que será “aparada”.
- Segundo parâmetro (opcional): uma lista de caracteres a serem removidos. Se não especificado, removem espaços em branco.
$txt = "==== PHP!!!! ====";
echo ltrim($txt, '= ') . "\n";
echo rtrim($txt, '= ') . "\n";
// PHP!!!! ====
// ==== PHP!!!!
strrev
A função strrev
inverte a ordem dos caracteres em uma string, retornando a string ao contrário.
$txt = "rodrigo";
echo strrev($txt) . "\n";
// Saída: ogirdor
strcmp
A função strcmp
compara duas strings para determinarse uma string é maior que outra pela sua posição na tabela ASCII, normamente para fins de ordenação. Ela retorna um valor inteiro que indica o resultado da comparação:
- Valor positivo: se a primeira string for maior que a segunda.
- Valor negativo: se a primeira string for menor que a segunda.
- Valor 0: se as strings forem iguais.
Lembre-se de que a função strcmp
realiza a comparação caractere por caractere. Isso significa que a comparação é feita posição por posição até que seja encontrada uma diferença, ou até que todas as posições tenham sido verificadas. Por exemplo: ao comparar "aaa"
e "aba"
, o segundo caractere define o resultado, já que a primeira letra é igual em ambas. Como "b"
é maior que "a"
na tabela ASCII, "aba"
é considerada maior.
$text1 = "ana";
$text2 = "rodrigo";
$text3 = "thiago";
echo strcmp($text1, $text2) . "\n"; // retorna -1114371, pq ana é menor que rodrigo
echo strcmp($text2, $text3) . "\n"; // retorna -1114371, pq rodrigo é menor que thiago
echo strcmp($text2, $text2) . "\n"; // retorna 0, pq rodrigo é igual a rodrigo
echo strcmp($text2, $text1) . "\n"; // retorna 1114371, pq rodrigo é maior que ana
* OBS.: a função strcmp
é case-sensitive, para uma comparação que seja case-insensitive utiliza a função strcasecmp
.
strstr
A função strstr
busca uma substring dentro de uma string e retorna a parte da string original a partir da primeira ocorrência da substring até o final.
- Primeiro parâmetro: a string na qual será feita a busca.
- Segundo parâmetro: o texto que será buscado.
A função retorna a parte da string original a partir da substring encontrada, incluindo a própria substring, ou false
caso a substring não seja encontrada.
$txt = "Você deveria programar em PHP";
echo strstr($txt, "programar") . "\n";
// Saída: programar em PHP
Por padrão, a busca é case-sensitive. Para uma busca insensível a maiúsculas e minúsculas, use a função stristr
.
wordwrap
A função wordwrap
é usada para quebrar uma string em linhas com um número especificado de caracteres, respeitando os limites das palavras. Ela recebe os seguintes parâmetros:
- Primeiro parâmetro: o texto que será “embrulhado” (ou seja, a string que será dividida em várias linhas).
- Segundo parâmetro: o número máximo de caracteres por linha.
- Terceiro parâmetro (opcional): o caractere que será usado para fazer a quebra de linha. O valor padrão é
"\n"
, mas pode ser substituído por qualquer string, como<br>
ou até mesmo um caractere não relacionado à quebra. - Quarto parâmetro (opcional): um valor booleano que, quando definido como
true
, permite que palavras maiores do que o número de caracteres por linha sejam divididas(quebrada), para que caibam dentro da largura especificada.
$text = "O PHP é uma linguagem de programação popular e amplamente utilizada para desenvolvimento web. Com uma sintaxe simples e uma ampla gama de recursos, ele permite criar sites dinâmicos, sistemas robustos e APIs eficientes.";
echo wordwrap($text, 20, "<br>\n") . "\n";
// Saída:
// O PHP é uma<br>
// linguagem de<br>
// programação<br>
// popular e amplamente<br>
// utilizada para<br>
// desenvolvimento web.<br>
// Com uma sintaxe<br>
// simples e uma ampla<br>
// gama de recursos,<br>
// ele permite criar<br>
// sites dinâmicos,<br>
// sistemas robustos e<br>
// APIs eficientes.
explode
A função explode
quebra uma string em várias partes com base em um delimitador especificado. Ela retorna um array, onde cada item é uma parte da string original dividida pelo delimitador.
- Primeiro parâmetro: o delimitador, que é a string que irá separar as partes.
- Segundo parâmetro: a string a ser dividida.
A função retorna um array contendo as partes da string divididas pelo delimitador. Se o delimitador não for encontrado, o array conterá a string original como um único elemento.
$text = "Explode é um nome bem legal para uma função!";
$pedacos = explode(" ", $text); // quebra a string em palavras já que um espaço é usado como delimitador
foreach($pedacos as $p){
echo $p . "\n";
}
implode
A função implode
é o oposto da função explode
. Ela junta os elementos de um array em uma única string, utilizando um delimitador entre os elementos.
- Primeiro parâmetro: o delimitador, que será inserido entre cada elemento do array ao formar a string.
- Segundo parâmetro: o array cujos elementos serão combinados em uma string.
A função retorna uma string composta pelos elementos do array, separados pelo delimitador fornecido.
A função implode
possui um apelido(alias) como join
, que pode ser utilizada no lugar
$nomes = ["João", "Maria", "Pedro"];
echo implode(" - ", $nomes) . "\n";
echo join(" - ", $nomes) . "\n";
// Saída: João - Maria - Pedro
str_split
A função str_split
divide uma string em partes menores, retornando um array com os segmentos. O primeiro parâmetro da função é a string que será dividida, enquanto o segundo, opcional, define o número de caracteres de cada segmento. Caso o segundo parâmetro não seja informado, o valor padrão será 1, ou seja, a string será dividida caractere por caractere.
$txt = "Olá Amigo!";
$partes = mb_str_split($txt);
print_r($partes);
// Saída:
// Array
// (
// [0] => O
// [1] => l
// [2] => á
// [3] =>
// [4] => A
// [5] => m
// [6] => i
// [7] => g
// [8] => o
// [9] => !
// )
$partes = mb_str_split($txt, 3);
print_r($partes);
// Saída:
// Array
// (
// [0] => Olá
// [1] => Am
// [2] => igo
// [3] => !
// )
chunk_split
A função chunk_split
divide uma string em partes, mas diferente de explode
ela o faz inserindo um delimitador entre as partes divididas.
- Primeiro parâmetro: é a string a ser dividida;
- Segundo parâmetro: define o número de caracteres em cada parte;
- Terceiro parâmetro: especifica o delimitador a ser usado. Caso o delimitador não seja informado, o padrão será
"\r\n"
.
A função retorna uma string inserido o delimitador entre as partes.
$txt = "Voce deveria programar em PHP";
echo chunk_split($txt, 4) . "\n";
// Saída:
// Voce
// dev
// eria
// pro
// gram
// ar e
// m PH
// P
$txt = "123456789";
echo chunk_split($txt, 3, ".") . "\n";
// 123.456.789.
addslashes
ChatGPT
A função addslashes
adiciona o caractere de escape (\
) antes de caracteres que precisam ser escapados em determinados contextos, como '
, "
, e \
.
Muitas pessoas utilizam esta função para prevenir SQL Injection, mas a forma mais indicada para isso é utilizar prepared statments da api de acesso ao banco.
$txt = "Don't Panic!";
echo addslashes($txt) . "\n";
// Saída: Don\'t Panic!
stripslashes
A função stripslashes
remove o caractere de escape \
dos caracteres que foram escapados na string. Por exemplo, as sequências \'
e \"
são transformadas em '
e "
, respectivamente. Essa função é o oposto de addslashes
.
$txt = "Don\'t Panic!";
echo stripslashes($txt) . "\n";
// Saída: Don't Panic!
htmlspecialchars
A função htmlspecialchars
converte caracteres especiais em entidades HTML. Por exemplo, os caracteres <
, >
, "
e &
são convertidos para <
, >
, "
e &
, respectivamente. Além disso, a função aceita um segundo parâmetro, que é uma constante de flag para definir opções de conversão:
- ENT_NOQUOTES: Não converte nenhum tipo de aspas.
- ENT_COMPAT: Converte apenas aspas duplas, deixando aspas simples inalteradas.
- ENT_QUOTES: Converte tanto aspas duplas quanto aspas simples.
$txt = '<a href="#">Clique aque</a> e conheça nossas <strong>Promoções</strong>';
echo htmlspecialchars($txt);
// Saída: <a href="#">Clique aque</a> e conheça nossas <strong>Promoções</strong>
echo htmlspecialchars("< > \" &", ENT_NOQUOTES) . "\n";
// Saída: < > " &
// Note que o caractere de aspas duplas não foi convertido
html_entity_decode
A função html_entity_decode
é o oposto de htmlspecialchars
, convertendo entidades HTML de volta para seus respectivos caracteres. Por exemplo, <
, >
, "
e &
são transformados em <
, >
, "
e &
, respectivamente. Assim como htmlspecialchars
, ela aceita um segundo parâmetro que define uma flag com as mesmas constantes.
$txt = "<h1>PHP</h1>";
echo html_entity_decode($txt) . "\n";
// Saída: <h1>PHP</h1>
strip_tags
A função strip_tags
remove as tags HTML de uma string, tornando o texto “limpo”. Opcionalmente, aceita um segundo parâmetro, que pode ser uma string ou um array com as tags que devem ser preservadas. Essa função é útil para processar entradas de usuários, como em campos de comentários, garantindo maior segurança e controle sobre o conteúdo.
$txt = '<a href="#">Um link perigoso</a> <strong>Atenção!</strong>';
echo strip_tags($txt) . "\n";
// Saída: Um link perigoso Atenção!
echo strip_tags($txt, ['strong']) . "\n";
// Saída: Um link perigoso <strong>Atenção!</strong>
// como foi passado a tag strong no array do segundo parâmetro ela não foi removida
nl2br
A função nl2br
insere a tag <br>
antes de cada quebra de linha (\n
) em uma string, facilitando a exibição do texto em HTML com a formatação original de quebras de linha preservada.
$txt = "Uma\nFrase\nem\nmultiplas\nlinhas!";
echo nl2br($txt) . "\n";
// Saída:
// Uma<br />
// Frase<br />
// em<br />
// multiplas<br />
// linhas!
str_pad
A função str_pad
preenche uma string com outra string até alcançar um tamanho especificado.
- O primeiro parâmetro é a string original a ser preenchida.
- O segundo define o tamanho final desejado para a string.
- O terceiro é a string usada para o preenchimento (opcional, sendo o padrão um espaço em branco).
- O quarto é uma constante de flag opcional, que determina onde o preenchimento será adicionado:
- STR_PAD_LEFT(padrão): Preenche à esquerda .
- STR_PAD_RIGHT: Preenche à direita.
- STR_PAD_BOTH: Distribui o preenchimento igualmente em ambos os lados.
$txt = "RODRIGO";
echo str_pad($txt, 10, "#") . "\n";
// Saída: RODRIGO###
echo str_pad($txt, 10, "_", STR_PAD_LEFT) . "\n";
// Saída: ___RODRIGO
echo str_pad($txt, 11, "_", STR_PAD_BOTH) . "\n";
// Saída: __RODRIGO__
similar_text
A função similar_text
calcula a porcentagem de similaridade entre duas strings.
- O primeiro e o segundo parâmetros são as strings a serem comparadas.
- O terceiro parâmetro é uma variável que receberá a porcentagem de similaridade calculada.
A função retorna o número de caracteres correspondentes em ambas as strings.
Essa função é útil para medir o grau de correspondência entre dois textos.
$txt1 = "PHP é muito legal";
$txt2 = "PHP é muito bom";
similar_text($txt1, $txt2, $porcentagem);
echo $porcentagem . "% similar\n";
// Saída: 76.470588235294% similar
str_word_count
A função str_word_count
retorna informações sobre as palavras de uma string, podendo fornecer um número total ou um array, dependendo do formato especificado.
- O primeiro parâmetro é a string a ser analisada.
- O segundo parâmetro é um inteiro que define o formato do retorno:
- 0 (padrão): Retorna o número total de palavras encontradas.
- 1: Retorna um array contendo todas as palavras da string.
- 2: Retorna um array associativo, onde as chaves representam as posições numéricas das palavras na string, e os valores são as palavras correspondentes.
$txt = "Uma frase com cinco palavras";
echo str_word_count($txt) . "\n";
// Saída: 5
print_r( str_word_count($txt, 1) );
// Saída:
// Array
// (
// [0] => Uma
// [1] => frase
// [2] => com
// [3] => cinco
// [4] => palavras
// )
print_r( str_word_count($txt, 2) );
//Saída:
// Array
// (
// [0] => Uma
// [4] => frase
// [10] => com
// [14] => cinco
// [20] => palavras
// )
urlencode
A função urlencode
codifica uma string para o formato de uma URL, convertendo caracteres especiais em uma representação segura para transmissão em URLs.
$text = "programação PHP!";
echo urlencode($text) . "\n";
// Saída: programa%C3%A7%C3%A3o+PHP%21
parse_url
A função parse_url
analisa uma URL e retorna um array associativo contendo seus componentes, como scheme
, host
, path
, e query
. Cada chave do array representa um componente da URL, e o valor associado é a informação correspondente extraída da URL fornecida.
$url = "https://www.example.com/path/file.php?param=value#fragment";
$components = parse_url($url);
print_r($components);
// Saída:
// Array
// (
// [scheme] => https
// [host] => www.example.com
// [path] => /path/file.php
// [query] => param=value
// [fragment] => fragment
// )
parse_str
A função parse_str
interpreta uma string como uma query string de URL e converte seus pares chave-valor em variáveis.
- O primeiro parâmetro é a string a ser interpretada (no formato de query string).
- O segundo parâmetro, é uma variável de array onde os pares chave-valor serão armazenados.
$query = "param1=value1¶m2=value2";
parse_str($query, $variaveis);
print_r($variaveis);
// Saída:
// Array
// (
// [param1] => value1
// [param2] => value2
// )
http_build_query
A função http_build_query
gera uma query string para URL a partir de um array ou objeto fornecido. Cada chave e valor do array é convertido em pares no formato chave=valor
, com os elementos separados por &
.
$data = [
'nome' => 'rodrigo',
'sobrenome' => 'aramburu',
];
echo http_build_query($data) . "\n";
// Saída: nome=rodrigo&sobrenome=aramburu
chr
A função chr
retorna o caractere correspondente ao código ASCII especificado. Recebe como parâmetro um número inteiro representando o código ASCII do caractere desejado.
echo chr(97) . "\n";
echo chr(98) . "\n";
echo chr(99) . "\n";
// Saída:
a
b
c
ord
A função ord
é o oposto de chr
. Ela recebe um caractere como parâmetro e retorna o código numérico correspondente a esse caractere na tabela ASCII.
echo ord("a") . "\n";
echo ord("b") . "\n";
echo ord("c") . "\n";
//Saída:
// 97
// 98
// 99
str_increment
A função str_increment
incrementa uma string alfanumérica, adicionando um valor incremental ao final dela. Disponível a partir do PHP 8.3
echo str_increment("a") . "\n";
// Saída: b
echo str_increment("b") . "\n";
// Saída: c
echo str_increment("c") . "\n";
// Saída: d
echo str_increment("Item1") . "\n";
// Saída: Item2
str_decrement
A função str_decrement
é semelhante à função str_increment
, mas em vez de incrementar, ela decrementa uma string alfanumérica, subtraindo um valor no final dela. Disponível a partir do PHP 8.3
echo str_decrement("aaa") . "\n";
// Saída: zz
echo str_decrement("aab") . "\n";
// Saída: aaa
echo str_decrement("aac") . "\n";
// Saída: aab
echo str_decrement("Item1") . "\n";
// Saída: Item0
Bom estas foram alguma funções de string do PHP que podem ser uteis no dia a dia ou podem economizar tempo e evitar a necessidade de reinventar soluções em casos especificos. Espero que sejam uteis.
T++