Table of Content
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:
- Clean up messy input.
- Format phone numbers.
- Fix file paths.
- Update names in bulk.
- Remove unwanted characters from text.
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:
| Feature | str_replace | str_ireplace | preg_replace |
|---|---|---|---|
| Case-sensitive | Yes | No | Optional (use /i) |
| Pattern support | No | No | Yes (Regex) |
| Speed | Fast | Fast | Slower |
| Common use | Exact match | Exact match | Complex 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_replacereplaces text in strings or arrays.- It works with exact values.
- You can replace one value or many at once.
- Use
$countto know how many changes happened. - Pick
str_replace,str_ireplace, orpreg_replacebased on your case.
FAQs
What does str_replace do in PHP?
Is str_replace case-sensitive?
Can str_replace work with arrays?
What does the $count parameter do in str_replace?
Similar Reads
In this tutorial, you will learn how to install PHP on your Operating system such as Ubuntu, Windows, or macOS.…
A PHP float is a kind of number that has a decimal point, like 2.45 or 0.11. It’s also called…
The Elvis operator in PHP is a shorthand version of the ternary operator. PHP allows developers to use this conditional…
Connecting PHP to MySQL is not just a technical step—it is the basic part of how data-driven websites work. From…
The array_rand() is a helper function in PHP that makes it easier when dealing with arrays; you can just pull…
The array_key_first helps you to get the first key of an array directly in PHP. It saves time and removes…
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…
The sizeof function in PHP exists to help developers know how many items an array holds. Understand the sizeof Function…
PHP 8.4 released a new built-in function, array_all checks to check if all array values meet a condition. It gives…
The NOT operator in PHP (!) provides the reverse of whatever truth value is given by a certain expression. It’s…