PHP preg_replace() Function (original) (raw)

Summary: in this tutorial, you’ll learn how to use the PHP preg_replace() function to search and replace using regular expressions.

Introduction to the PHP preg_replace() function #

The preg_replace() function searches for matches and replaces them with a pattern.

The following shows how to use the preg_replace() function with a single string:

preg_replace( string $pattern, string $replacement, string $subject, int $limit = -1, int &$count = null ): stringCode language: PHP (php)

The preg_replace() function has the following parameters:

If the subjectmatchesthesubject matches the subjectmatchesthepattern, the preg_replace() function replaces the match with the $replacement and returns it.

Let’s take some examples of using the preg_replace() function.

1) Using the PHP preg_replace() function to change the date format #

The following example uses the preg_replace() function to change the date string from dd-mm-yyyy to mm-dd-yyyy format:

`<?php

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

$str = '25-12-2021';

echo preg_replace($pattern, replacement,replacement, replacement,str);`Code language: PHP (php)

Try it

Output:

12-25-2021Code language: PHP (php)

How it works.

The following regular expression matches the date in the dd-mm-yyyy format:

/(\d{2})-(\d{2})-(\d{4})/Code language: PHP (php)

It consists of three capturing groups for day (\d{2}), month (\d{2}), and year (\d{4}).

The replacement string contains three backreferences \2 for the second capturing group which is month, \1 for the first capturing group which is day, and \3 for the third capturing group which is the year.

Therefore, the preg_replace() changes the format of the date from dd-mm-yyyy to mm-dd-yyyy.

2) Using the PHP preg_replace() function to remove the excessive whitespace #

The following example uses the preg_replace() function to strip excess whitespace from a string:

`<?php

$str = 'PHP is awesome'; echo preg_replace('/\s\s+/', ' ', $str);`Code language: PHP (php)

Try it

Output:

PHP is awesomeCode language: PHP (php)

The pattern /\s\s+/ matches one or more spaces.

PHP preg_replace() function with arrays #

The preg_replace() function also accepts the $pattern, $replacement, and $subject as arrays:

preg_replace( string|array $pattern, string|array $replacement, string|array $subject, int $limit = -1, int &$count = null ): string|array|nullCode language: PHP (php)

If both $pattern and $replacement are arrays and $subject is a string, the preg_replace() function will replace each pattern in the $pattern array with the replacement in the $replacement array.

If the $replacement array has fewer elements than the $pattern array, the preg_replace() function wil replace extra patterns with an empty string.

If the $subject is an array, the preg_replace() function searches and replaces each string in the array and returns the result as an array.

Summary #

Did you find this tutorial useful?