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.
Table of Content
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
Abstract class in PHP appeared to provide a way to define a structure for related classes and don't allow direct…
Programming is all about choices. Everything you do in code boils down to answering a question: What should happen if…
One of the important tasks is retrieving documents from a collection. MongoDB help us to make this process, but understanding…
Bitwise operators use symbols like &, |, and ^, and they work at the binary level. But once you understand…
Array values may look the same, but keys can differ. The array_diff_assoc in PHP finds differences by both values and…
This guide shows how PHP array_keys finds all keys in an array and how you can filter them by a…
There are some tools known as "PHP magic constants" that will make your code a little more clever and versatile.…
Deleting records in MongoDB is a common task. You might need to clear old data, remove outdated entries, or handle…
PHP developers copied and pasted code across multiple files before inheritance came, which made updates difficult. They updated functions in…
If you are new to the PHP Spaceship Operator, then let me tell you, you're in for a treat. This…