Como manipular texto em PHP com essas 9 funções
Strings são um dos tipos escalares fundamentais em muitas linguagens de programação, incluindo PHP. Eles representam dados de texto, de caracteres individuais a documentos inteiros.
A programação de string mais simples envolve texto de byte único, que pode representar 256 caracteres diferentes. ASCII é a codificação mais comum. A linguagem PHP central tem muitas funções úteis para manipular essas strings.
Como mostrar o conteúdo de uma string
Se você já fez alguma programação em PHP, provavelmente encontrou echo , mas pode não perceber que, na verdade, não é uma função. Na verdade, echo é uma construção de linguagem, portanto, mesmo que você o use mais do que qualquer função de string real, nem sempre é possível usá-lo no lugar de uma função.
Quase sempre você o usará assim:
echo "Hello, world";
Mas você pode realmente chamá-lo como uma função:
echo("Hello, world");
Embora pareça, ainda não é uma chamada de função. Por exemplo, você não pode atribuir seu valor de retorno a uma variável:
$a = echo("Hello, world");
Parse error: syntax error, unexpected 'echo' (T_ECHO)
Outra maneira de enviar o valor de uma string é usar print. Novamente, essa não é realmente uma função verdadeira, embora esteja mais próxima de uma do que de eco. Como echo, você pode chamá-lo sem parênteses:
print "Hello, world";
Mas, ao contrário de echo, ele retorna um valor que você pode atribuir, embora esse valor seja sempre 1:
$a = print("Hello, world");
echo $a; // 1
1. Produzindo uma string usando uma função real
A função printf é na verdade uma função real. Como echo e print , ele produz strings, mas tem algum comportamento único que reflete a mesma função da linguagem c:
$username = "John";
$length = printf("Hello, %s", $username); // "Hello, John"
echo $length; // 11
O primeiro argumento ainda é uma string, entre aspas duplas. Mas printf realizará várias substituições em sequências de caracteres especiais dentro da string. Essas sequências começam com um símbolo de porcentagem, como o mostrado acima, % s . Neste caso específico,% s representa uma string e printf o substitui pelo próximo argumento, que é o valor de $ username .
A função printf retorna um valor útil, o comprimento da string formatada. Isso pode ser útil para código que não pode saber o comprimento com antecedência, ao passar variáveis para printf , por exemplo. Você pode usar esse valor de retorno para determinar quanto espaço físico a string ocupará em uma linha de comando.
2. Obtendo o comprimento de uma corda
Por falar em comprimento de string, a forma padrão de determinar o comprimento de uma string é a função strlen . Esta função é muito direta: ela pega um único argumento de string e retorna o número de bytes como um inteiro. Conforme mencionado anteriormente, para texto ASCII , o número de bytes é igual ao número de caracteres:
$length = strlen("Hello, World");
echo $length; // 12
3. Extraindo parte de uma string
Uma tarefa muito comum, ao lidar com strings, é a extração de parte dessa string. Existem várias maneiras de fazer isso, e a primeira apresentada aqui especifica a posição e o comprimento da substring necessária. A função substr extrai uma parte fixa de uma string de acordo com esses parâmetros.
$greeting = substr("Hello, World", 0, 5);
echo $greeting; // "Hello"
Observe que, como na maioria das linguagens de programação, o PHP conta os deslocamentos da string a partir de 0. O PHP difere de algumas linguagens porque o segundo parâmetro dessa função é o comprimento da string resultante.
Outra diferença é que o PHP suporta valores negativos para deslocamento e comprimento. Se o deslocamento for negativo, o resultado começará a contar a partir do final da string, não do início:
$greeting = substr("Hello, World", -5, 5);
echo $greeting; // "World"
Se o comprimento for negativo, ele se referirá ao número de caracteres removidos, em vez do número incluído:
$greeting = substr("Hello, World", 0, -6);
echo $greeting; // "Hello,"
4. Pesquisando em uma string
Uma parte importante do processamento de texto envolve encontrar a localização de uma string dentro de outra. Em PHP, você pode fazer isso com a função strpos :
$pos = strpos("Hello, World", ",");
echo $pos; // 5
Você pode usar strpos em conjunto com substr para fornecer um método de uso geral para extrair parte de uma string:
$string = "Hello, World";
$pos = strpos($string, ",");
$first_part = substr($string, 0, $pos);
echo $first_part; // "Hello"
5. Convertendo a caixa de uma string
As strings ASCII tradicionais têm variantes bem definidas em maiúsculas e minúsculas. A versão maiúscula de a é A. A minúscula de Z é z. As funções strtoupper e strtolower executam essas conversões. Eles fazem isso para cada caractere em uma string ASCII:
$original = "hello, WORLD";
$upper = strtoupper($original);
$lower = strtolower($original);
echo "$lower $upper"; // "hello, world HELLO, WORLD"
6. Eliminando espaços em branco
Às vezes, você acabará com uma string com espaços em branco à esquerda ou à direita: espaços, tabulações ou caracteres de nova linha. Isso geralmente é indesejado, mas o corte pode removê-lo:
$trimmed = trim(" Hello, World ");
echo $trimmed; // "Hello, World"
7. Quebrando uma corda por um separador
A função de explosão parece perigosa, mas não se preocupe, ela não causa nenhum dano duradouro! Em vez disso, ele converte uma string em uma matriz de strings, separada por outra string – geralmente um caractere. Pode ser útil se você quiser dividir uma frase em palavras separadas, por exemplo.
$sentence = "The quick brown fox jumps over the lazy dog";
$words = explode(" ", $sentence);
A variável $ words é agora um array contendo palavras individuais:
[ "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" ]
8. Quebrando uma string em substrings de comprimento fixo
Como explodir , a função str_split divide uma string em uma matriz de strings menores. Ao contrário de explodir, as cordas finais não são determinadas por seu conteúdo, mas por seu comprimento.
$parts = str_split("Hello, World", 6);
A matriz $ parts agora contém duas substrings, cada uma com seis caracteres de comprimento:
[ "Hello,", " World" ]
9. Pesquisar e substituir dentro de uma string
Você pode realizar uma pesquisa simples e operação de substituição em uma string usando str_replace . Leva três argumentos: uma string a ser pesquisada, uma string substituta e uma string original a ser pesquisada. A função retorna a nova string:
$result = str_replace("o", "OO", "Hello, World");
echo $result; // "HellOO, WOOrld"
PHP oferece muitas maneiras úteis de trabalhar com texto
Visto que o PHP é freqüentemente usado no desenvolvimento web, lidar com texto é uma tarefa comum.
As funções apresentadas aqui estão entre as mais úteis para processar texto usando PHP. Existem cerca de cem funções de manipulação de strings integradas à própria linguagem.
Lembre-se de que as funções mostradas aqui são para uso com strings ASCII, não Unicode. O PHP também oferece suporte para Unicode e outros esquemas de codificação de caracteres multibyte, com um conjunto separado de funções .