I need a replace string once function and believe preg_match might be my best bet.
I was using this, but due to the dynamicness of use, sometimes this function behav
You can also use T-Regx library:
pattern('[a-z]+')->replace($string)->first()->with($replace);
and also you should not use preg_quote(), as it's not safe - try Prepared Patterns.
You are looking for preg_quote instead of trying to escape the \ yourself (which doesn't take [, + and many others into account):
$return = preg_replace('/'.preg_quote($remove,'/').'/', $replace, $string, 1);