substr – Recuperando substrings a partir de uma string completa

A função substr é usada para retornar uma substring, ou seja, um determinado trecho de uma string. Mas além do uso básico, o feijão-com-arroz, existem outras formas de usá-la.

Seu uso básico consiste em:

$substring = substr($string, $posicao_inicial, $tamanho_da_substring);

Lembrando que posição inicial começa a contar de 0. Ou seja, o primeiro caracter é a posição 0, o segundo 1 etc.

Mas a função pode ser usada de formas que facilitam em alguns casos específicos. Cito alguns:

  • Retornar de uma posição até o final da string

    Você pode omitir o terceiro parâmetro, que informa o tamanho da substring, e isso significará que você quer tudo da posição informada para frente. Exemplo:

    Do jeito convencional:

    $data_hora = '2008-01-01 13:30:00';
    $hora = substr($data_hora, 11, strlen($data_hora)-11);

    Do jeito fácil:

    $data_hora = '2008-01-01 13:30:00';
    $hora = substr($data_hora, 11);

  • Retornar de uma posição inicial a N caracteres do final

    A posição inicial é contada a partir do início. N significa a partir do (N+1)-ésimo caracter. Para pegar a partir de N posições do final, basta informar um número negativo. Para pegar a penúltima letra de uma palavra, faríamos:

    Do jeito convencional:

    $letra = substr($str, strlen($str)-2, 1);

    Do jeito fácil:

    $letra = substr($str, -2, 1);

Outra forma de recuperar substring é usando expressões regulares, um recurso assustadoramente poderoso, mas também mais complexo e mais lento para ser executado. Como regra geral, mesmo que você domine expressões regulares, se o uso de substr for possível, use-a por questões de desempenho e clareza de código.

  • Share/Bookmark

Posts relacionados

Deixe um comentário