29.11.2010, 14:46
pawn Код:
stock strreplace2(string[], const find[], const replace[], bool:ignorecase=false, count=cellmax, maxlength=sizeof(string))
{
if(isnull(find) || isnull(string)) return 0;
new matches;
for(new idx, flen = strlen(find), rlen = strlen(replace), pos = strfind(string, find, ignorecase); pos != -1 && idx < maxlength && matches < count; pos = strfind(string, find, ignorecase, idx)) {
strdel(string, pos, pos + flen);
if(rlen) strins(string, replace, pos, maxlength); // Crashy
idx = pos + rlen;
matches++;
}
return matches;
}
pawn Код:
public OnFilterScriptInit()
{
new string[128];
format(string, sizeof(string), "This is only a test, so don't ask!");
print(string);
strreplace2(string, "test", "foo");
print(string);
return 1;
}