Insert a character into a string at any position with PHP

Posted on Nov 24, 2022

See how you can insert a character or a string into another string using PHP


To insert a character into another string using PHP, you need to use the substr_replace() function.

The substr_replace() function is used to replace a portion of a string.

The function accepts 4 arguments as shown below:

substr_replace(
    array|string $string,
    array|string $replace,
    array|int $offset,
    array|int|null $length = null
): string|array

To insert characters without replacing the original string, you need to pass 0 as the $length argument of this function.

Let’s see an example. Suppose you need to insert the word very into the string I am feeling lucky today.

Here’s how you do it using substr_replace():

<?php

$str = "I am feeling lucky today";

$new_str = substr_replace($str, "very ", 13, 0);

print $new_str; // I am feeling very lucky today

To insert characters into a string, you need to count the index where you want to insert the string. A string index starts from the left at 0.

The word very needs to be placed before the word lucky.

The index of l in lucky is 13, so that’s what you need to pass as the $offset argument.

You also need to pass 0 as the $length argument, because the function will remove the rest of the string if you don’t pass any $length value:

<?php

$str = "I am feeling lucky today";

$new_str = substr_replace($str, "very ", 13);

print $new_str; // I am feeling very 

You can pass a single character or a string as the $replace() argument to the substr_replace() function.

Make sure that you pass the right $offset argument, or you will have a wrong string.

Now you’ve learned how to insert characters into a string at any position with PHP. Great job!

Level up your programming skills

I'm sending out an occasional email with the latest programming tutorials. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.