PHP preg_replace

Resumo : neste tutorial, você aprenderá como usar a preg_replace()função PHP para pesquisar e substituir usando expressões regulares.

Introdução à função preg_replace() do PHP

A preg_replace()função procura correspondências e as substitui por um padrão.

O seguinte mostra como usar a preg_replace()função com uma única string:

preg_replace(
    string $pattern,
    string $replacement,
    string $subject,
    int $limit = -1,
    int &$count = null
): stringLinguagem de código:  PHP  ( php )

A preg_replace()função possui os seguintes parâmetros:

  • $patterné uma expressão regular para corresponder.
  • $replacementé uma string a ser substituída. Pode conter as referências anteriores.
  • $subjecté uma string para pesquisar e substituir.
  • $limité a substituição máxima possível para o padrão. Por padrão, é -1, que é ilimitado.
  • $countarmazena o número de substituições.

Se $subject corresponder a $pattern, a preg_replace()função substituirá a correspondência por $replacement e a retornará.

Exemplos de funções PHP preg_replace()

Vejamos alguns exemplos de uso da preg_replace()função.

1) Usando a função PHP preg_replace() para alterar o formato da data

O exemplo a seguir usa a preg_replace()função para alterar a sequência de data de dd-mm-yyyypara mm-dd-yyyyformato:

<?php

$pattern = '/(\d{2})-(\d{2})-(\d{4})/';
$replacement = '\2-\1-\3';

$str = '25-12-2021';

echo preg_replace($pattern, $replacement, $str);Linguagem de código:  PHP  ( php )

Saída:

12-25-2021Linguagem de código:  PHP  ( php )

Como funciona.

A seguinte expressão regular corresponde à data no dd-mm-yyyyformato:

/(\d{2})-(\d{2})-(\d{4})/Linguagem de código:  PHP  ( php )

Consiste em três grupos de captura para dia (\d{2}), mês (\d{2})e ano (\d{4}).

A sequência de substituição contém três referências anteriores \2para o segundo grupo de captura que é o mês, \1para o primeiro grupo de captura que é o dia e \3para o terceiro grupo de captura que é o ano.

Portanto, o preg_replace()altera o formato da data de dd-mm-yyyypara mm-dd-yyyy.

2) Usando a função PHP preg_replace() para remover o excesso de espaços em branco

O exemplo a seguir usa a preg_replace()função para remover o excesso de espaço em branco de uma string:

<?php

$str = 'PHP   is    awesome';
echo preg_replace('/\s\s+/', ' ', $str);Linguagem de código:  PHP  ( php )

Saída:

PHP is awesomeLinguagem de código:  PHP  ( php )

O padrão /\s\s+/corresponde a um ou mais espaços.

Função PHP preg_replace() com arrays

A preg_replace()função também aceita $pattern, $replacemente $subjectcomo arrays:

preg_replace(
    string|array $pattern,
    string|array $replacement,
    string|array $subject,
    int $limit = -1,
    int &$count = null
): string|array|nullLinguagem de código:  PHP  ( php )

Se ambos $patterne $replacementforem arrays e $subjectforem uma string, a preg_replace()função substituirá cada padrão no $patternarray pela substituição no $replacementarray.

Se o $replacementarray tiver menos elementos que o $patternarray, a preg_replace()função substituirá padrões extras por uma string vazia.

Se $subjectfor um array, a preg_replace()função pesquisa e substitui cada string no array e retorna o resultado como um array.

Resumo

  • Use a função PHP preg_replace()para pesquisar e substituir strings usando expressões regulares.

Deixe um comentário

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