rsk82
rsk82

Reputation: 29377

how to replace string from given offset?

I need only one replacement of a string within a string, but since string that am intend to replace is repeated in the haystack I need to precise start pointer and how many times replacement should be done. I did not found any mention of start offstet if php's string replace functions.

Upvotes: 2

Views: 3980

Answers (3)

Vincent Savard
Vincent Savard

Reputation: 35927

You can use substr, for instance :

$str = "This This This";
echo substr($str, 0, 6) . str_replace('This', 'That', substr($str, 6)); // This This That

Upvotes: 1

Gumbo
Gumbo

Reputation: 655219

You could use some other functions than str_replace that supports a limited search, for example preg_replace:

preg_replace('/'.preg_quote($search, '/').'/', $replacement, $str, 1)

Or a combination of explode and implode:

implode($replacement, explode($search, $str, 2))

Upvotes: 0

Brandon Frohbieter
Brandon Frohbieter

Reputation: 18139

str_replace(substr($string,$start),$replace)

Upvotes: 2

Related Questions