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
You deal with user input, file reads, or formatted strings. PHP needed a way to remove extra characters from the…
The term $_POST is quite familiar territory when one works with forms in PHP. This tutorial talks about what $_POST does, how to use…
The filter_var_array() appeared to make input validation simple and sanitization in PHP. It handles multiple inputs with different filters was…
The PHP named arguments are the names of the arguments through which the values are passed, allowing you to add…
It’s very important to remember user data for each session when building web applications. This enables a high level of…
MySQL Prepared Statements in PHP are an important tool for ensuring security and optimization. They safeguard against SQL injection attacks,…
The PHP range function helps you make sequences. Without it, you would write loops every time you need numbers or…
let's now dive into PHP comments—these simple but super important integral parts of PHP coding. You can think of comments…
PHP didn’t have a way to check or clean user input. Developers used scattered code—some wrote custom checks, others used…
PHP developers may be need to determine the number of elements in an array. The count() function in PHP makes…