mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-22 07:56:34 +02:00
37 lines
766 B
PHP
37 lines
766 B
PHP
var
|
|
Srch,OldP,RemS: SRString; // Srch and Oldp can contain uppercase versions of S,OldPattern
|
|
P : Integer;
|
|
begin
|
|
Srch:=S;
|
|
OldP:=OldPattern;
|
|
if rfIgnoreCase in Flags then
|
|
begin
|
|
Srch:=SRUpperCase(Srch);
|
|
OldP:=SRUpperCase(OldP);
|
|
end;
|
|
RemS:=S;
|
|
Result:='';
|
|
while (Length(Srch)<>0) do
|
|
begin
|
|
P:=AnsiPos(OldP, Srch);
|
|
if P=0 then
|
|
begin
|
|
Result:=Result+RemS;
|
|
Srch:='';
|
|
end
|
|
else
|
|
begin
|
|
Result:=Result+Copy(RemS,1,P-1)+NewPattern;
|
|
P:=P+Length(OldP);
|
|
RemS:=Copy(RemS,P,Length(RemS)-P+1);
|
|
if not (rfReplaceAll in Flags) then
|
|
begin
|
|
Result:=Result+RemS;
|
|
Srch:='';
|
|
end
|
|
else
|
|
Srch:=Copy(Srch,P,Length(Srch)-P+1);
|
|
end;
|
|
end;
|
|
end;
|