Substr PHP

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 ) : stringLinguagem 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 $lengthargumento, a substr()função extrairá uma substring do $offsetfinal do $string. Se $lengthfor 0, falso ou nulo, a substr()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;// PHPLinguagem 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.

Função PHP substr()

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; // substringLinguagem de código:  HTML, XML  ( xml )

Neste exemplo, omitimos o $lengthargumento. Portanto, substr()retorna uma substring, começando no índice 4 até o final da string de entrada.

Função PHP substr() com comprimento padrão

Função PHP substr() com deslocamento negativo

O $offsetargumento pode ser um número negativo. Se $offsetfor 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; // coolLinguagem 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 deslocamento negativo

Função PHP substr() com comprimento negativo

Assim como o $offsetargumento, o $lengthargumento pode ser negativo. Se você passar um número negativo para o $lengthargumento, a substr()função omitirá um $lengthnú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; // isLinguagem de código:  HTML, XML  ( xml )

A imagem a seguir ilustra como funciona o exemplo acima:

Função PHP substr() com comprimento negativo

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 $messagestring começando no índice 3. No entanto, não mostra nada na saída.

O motivo é que a $messagestring 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 ) : stringLinguagem 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *