Resumo : neste tutorial, você aprenderá como usar a substr()
função PHP para extrair uma substring de uma string.
Introdução à função PHP substr()
A substr()
função aceita uma string e retorna uma substring da string.
Aqui está a sintaxe da substr()
função:
substr ( string $string , int $offset , int|null $length = null ) : string
Linguagem de código: PHP ( php )
Nesta sintaxe:
$string
é a string de entrada.$offset
é a posição na qual a função começa a extrair a substring.$length
é o número de caracteres a serem incluídos na substring. Se você omitir o$length
argumento, asubstr()
função extrairá uma substring do$offset
final do$string
. Se$length
for 0, falso ou nulo, asubstr()
função retornará uma string vazia.
Exemplos de funções PHP substr()
Vejamos alguns exemplos de uso da substr()
função.
1) Exemplo simples de função PHP substr()
O exemplo a seguir usa a substr()
função para extrair os três primeiros caracteres de uma string:
<?php
$s = 'PHP substring';
$result = substr($s, 0, 3);
echo $result;// PHP
Linguagem de código: HTML, XML ( xml )
Neste exemplo, a substr()
função extrai os 3 primeiros caracteres da 'PHP substring'
string começando no índice 0.
2) Usando a função PHP substr() com o argumento de comprimento padrão
O exemplo a seguir usa a substr()
função para extrair uma substring da 'PHP substring'
string começando do índice 4 até o final da string:
<?php
$s = 'PHP substring';
$result = substr($s, 4);
echo $result; // substring
Linguagem de código: HTML, XML ( xml )
Neste exemplo, omitimos o $length
argumento. Portanto, substr()
retorna uma substring, começando no índice 4 até o final da string de entrada.
Função PHP substr() com deslocamento negativo
O $offset
argumento pode ser um número negativo. Se $offset
for negativo, a substr()
função retornará uma substring que começa no caractere de deslocamento do final da string. O último caractere da string de entrada possui um índice de -1
.
O exemplo a seguir ilustra como usar a substr()
função com deslocamento negativo:
<?php
$s = 'PHP is cool';
$result = substr($s, -4);
echo $result; // cool
Linguagem de código: HTML, XML ( xml )
Neste exemplo, substr()
retorna uma substring que está no quarto caractere do final da string.
A imagem a seguir ilustra como a substr()
função funciona no exemplo acima:
Função PHP substr() com comprimento negativo
Assim como o $offset
argumento, o $length
argumento pode ser negativo. Se você passar um número negativo para o $length
argumento, a substr()
função omitirá um $length
número de caracteres na substring retornada.
O exemplo a seguir ilustra como usar o com argumentos e substr()
negativos :$offset
$length
<?php
$s = 'PHP is cool';
$result = substr($s, -7, -5);
echo $result; // is
Linguagem de código: HTML, XML ( xml )
A imagem a seguir ilustra como funciona o exemplo acima:
A função PHP mb_substr()
Veja o exemplo a seguir:
<?php
$message = 'adiós';
$result = substr($message, 3, 1);
echo $result;
Linguagem de código: HTML, XML ( xml )
Este exemplo tenta extrair uma substring com um caractere na $message
string começando no índice 3. No entanto, não mostra nada na saída.
O motivo é que a $message
string contém um caractere não ASCII. Portanto, a substr()
função não funciona corretamente.
Para extrair uma substring de uma string que contém um caractere não ASCII, você usa a mb_substr()
função. A mb_substr()
função é semelhante à substr()
função, exceto que possui um argumento de codificação adicional:
mb_substr ( string $string , int $start , int|null $length = null , string|null $encoding = null ) : string
Linguagem de código: PHP ( php )
O exemplo a seguir usa a mb_substr()
função para extrair uma substring de uma string com código não ASCII:
<?php
$message = 'adiós';
$result = mb_substr($message, 3, 1);
echo $result;
Linguagem de código: HTML, XML ( xml )
Saída:
ó
Função auxiliar PHP substr
O seguinte define uma função auxiliar que usa a mb_substr()
função para extrair uma substring de uma string:
<?php
function substring($string, $start, $length = null)
{
return mb_substr($string, $start, $length, 'UTF-8');
}
Linguagem de código: HTML, XML ( xml )
Resumo
- Use a função PHP
substr()
para extrair uma substring de uma string. - Use o deslocamento negativo para extrair uma substring do final da string. O último caractere da string de entrada possui um índice de
-1
. - Use o comprimento negativo para omitir um número de caracteres na substring retornada.
- Use a função PHP
mb_substr()
para extrair uma substring de uma string com caracteres não ASCII.