23.06.2013, 14:48
pawn Код:
stock strreplace( string[ ], const search[ ], const replacement[ ], bool:ignorecase = false, pos = 0, limit = -1, maxlength = sizeof( string ) )
{
if( limit == 0 )
return 0;
new sublen = strlen( search ), replen = strlen( replacement ), bool:packed = ispacked( string ),
maxlen = maxlength, len = strlen( string ), count = 0;
if( packed )
maxlen *= 4;
if( !sublen )
return 0;
while( -1 != ( pos = strfind( string, search, ignorecase, pos ) ) )
{
strdel( string, pos, pos + sublen );
len -= sublen;
if( replen && len + replen < maxlen )
{
strins( string, replacement, pos, maxlength );
pos += replen;
len += replen;
}
if( limit != -1 && ++ count >= limit )
break;
}
return count;
}