PHP str_replace Function: How it Works with Examples

PHP str_replace Function

If you find a word that does not fit and want to fix it. You can use the PHP str_replace function. This function helps you swap one piece of a string with another.

Understand the str_replace Function in PHP

The str_replace replaces parts of a string with new text. It searches for one value and swaps it with another.

str_replace($search, $replace, $subject, $count)
  • $search: The word or value you want to replace.
  • $replace: The new word or value.
  • $subject: The string or array you want to change.
  • $count (optional): PHP stores the number of replacements here.

Here is a quick example:

echo str_replace("world", "PHP", "Hello world");

You get “Hello PHP” because it replaces “world” with “PHP”.

The str_replace checks for exact matches. It does not replace if the case does not match.

echo str_replace("apple", "orange", "Apple pie");

This gives “Apple pie” because “apple” and “Apple” do not match.

Here are the use cases:

The Differences Between str_replace, str_ireplace and preg_replace in PHP

Each of these functions replaces text in a string. But they follow different rules.

str_replace:

  • Replaces exact text only.
  • Case matters.
  • No pattern matching.

For example:

str_replace("cat", "dog", "The cat sleeps"); 
str_replace("Cat", "dog", "The cat sleeps");

Output:

The dog sleeps
The cat sleeps

Use it when you want a case-sensitive replacement.

str_ireplace:

  • Works like str_replace.
  • Ignores case.
  • No patterns.
  • Slightly slower than str_replace

For example:

str_ireplace("Cat", "dog", "The cat sleeps");

Output:

The dog sleeps

Use it when you do not care about the letter case.

preg_replace:

  • Uses patterns (regular expressions).
  • Can match flexible formats.
  • Slower but powerful.
  • Case control with flags.

For example:

preg_replace("/cat/i", "dog", "The CAT sleeps"); 
preg_replace("/[0-9]/", "#", "Room 101");        

The output:

The dog sleeps
Room ###

Use it when you need pattern logic or dynamic matches.

Here is a table that shows you the key differences:

Featurestr_replacestr_ireplacepreg_replace
Case-sensitiveYesNoOptional (use /i)
Pattern supportNoNoYes (Regex)
SpeedFastFastSlower
Common useExact matchExact matchComplex search/replace

PHP str_replace Examples

Replace multiple values:

echo str_replace(["apple", "banana"], ["orange", "grape"], "apple and banana");

The output:

orange and grape

This swaps “apple” with “orange” and “banana” with “grape”.

str_replace(["a", "e", "i"], "*", "pineapple");

You get “p*n**ppl*”. It replaces each vowel with “*”.

Replace in arrays:

$arr =  str_replace("cat", "dog", ["cat", "wild cat", "black cat"]);
print_r($arr);

Output:

Array
(
[0] => dog
[1] => wild dog
[2] => black dog
)

This changes all “cat” values to “dog” in each array item.

$vlarray= str_replace(["red", "blue"], "color", ["red car", "blue sky"]);
print_r($vlarray);

Output:

Array
(
[0] => color car
[1] => color sky
)

It swaps each color with “color”.

Use the $count parameter:

str_replace("apple", "orange", "apple, apple, apple", $count);

Output:

orange, orange, orange

$count becomes 3 because it replaced “apple” three times.

$str = "egg, egg, egg";
str_replace("egg", "bacon", $str, $count);

The string becomes “bacon, bacon, bacon” and $count holds 3.

Replace numbers in the text:

str_replace(["1", "2"], ["one", "two"], "1, 2, 3");

You get “one, two, 3” by replacing numbers with words.

Clean up extra spaces:

str_replace("  ", " ", "This  is  a  test");

You get “This is a test” by removing extra spaces.

Wrapping Up

In this article, you learned what str_replace does and how it works with strings and arrays. You saw its syntax, how it checks for case, and how to use the $count variable. Here is a quick recap:

  • str_replace replaces text in strings or arrays.
  • It works with exact values.
  • You can replace one value or many at once.
  • Use $count to know how many changes happened.
  • Pick str_replace, str_ireplace, or preg_replace based on your case.

FAQs

What does str_replace do in PHP?

It replaces part of a string with another value. You use it to swap words, fix input, or clean up text.

Is str_replace case-sensitive?

Yes. It does not match if the case is different. Use str_ireplace to ignore case.

Can str_replace work with arrays?

Yes. You can pass arrays as input and it will handle each item.

What does the $count parameter do in str_replace?

It shows how many replacements happened. PHP stores this number in the variable you pass.

Similar Reads

Install PHP on Operating System: Ubuntu, Windows, and macOS

In this tutorial, you will learn how to install PHP on your Operating system such as Ubuntu, Windows, or macOS.…

PHP Float: Understanding Float Precision in PHP

A PHP float is a kind of number that has a decimal point, like 2.45 or 0.11. It’s also called…

PHP Elvis Operator: How (?:) Works with Examples

The Elvis operator in PHP is a shorthand version of the ternary operator. PHP allows developers to use this conditional…

How to Connect a MySQL Database to PHP?

Connecting PHP to MySQL is not just a technical step—it is the basic part of how data-driven websites work. From…

PHP array_rand() Function: Usage & Examples

The array_rand() is a helper function in PHP that makes it easier when dealing with arrays; you can just pull…

PHP array_key_first Function: How it Works with Examples

The array_key_first helps you to get the first key of an array directly in PHP. It saves time and removes…

PHP is_readable: Check File Accessibility

The PHP is_readable helps you validate file readability before any operation like read or include files. What Is PHP is_readable? The is_readable() function…

PHP sizeof: How to Count Elements in Arrays with Examples

The sizeof function in PHP exists to help developers know how many items an array holds. Understand the sizeof Function…

PHP array_all Function: How it Works with Examples

PHP 8.4 released a new built-in function, array_all checks to check if all array values meet a condition. It gives…

PHP NOT ( ! ) Operator: A Comprehensive Guide

The NOT operator in PHP (!) provides the reverse of whatever truth value is given by a certain expression. It’s…

Previous Article

PHP array_merge: Combine Multiple Arrays into One

Next Article

PHP strlen Function: How It Works with Strings

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *


Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.