I didn't notice that one.
In that case:
function striReplace(%source, %search, %replace)
{
if(strlen(%search) < 1)
return;
%len = strlen(%search);
%i = 0;
while((%i = stripos(%source, %search, %i)) >= 0)
{
%source = getSubStr(%source, 0, %i) @ %replace @ getSubStr(%source, %i + %len, strlen(%source) - %i - %len);
%i += strlen(%replace);
}
return %source;
}
Make use of that optional third argument!
(Edit: input check)