Я думаю, что следующий код будет делать то, что вы хотите, при условии, что у вас есть только один
block in your document.</p>
<pre><code>function DepreStream(Stm : tStream):tStream;
var
sTemp : String;
oStrStm : tStringStream;
i : integer;
begin
oStrStm := tStringStream.create('');
try
Stm.Seek(0,soFromBeginning);
oStrStm.copyfrom(Stm,Stm.Size);
sTemp := oStrStm.DataString;
if (Pos('<pre>',sTemp) > 0) and (Pos('
', sTemp)> 0) затем
начать
удалить (STEMP, Pos ( '
',sTemp),(Pos('
', STEMP) -POS ( '
',sTemp))+6);
oStrStm.free;
oStrStm := tStringStream.Create(sTemp);
end;
Result := tMemoryStream.create;
oStrStm.Seek(0,soFromBeginning);
Result.CopyFrom(oStrStm,oStrStm.Size);
Result.Seek(0,soFromBeginning);
finally
oStrStm.free;
end;
end;
</code>
Другим вариантом, который я считаю, было бы использование преобразования XML для удаления нежелательных тегов, но я не особо стараюсь преобразовать его, поэтому, если кто-то еще захочет этот факел ...
РЕДАКТИРОВАТЬ: Исправлен код, чтобы он работал. Обучает меня программированию непосредственно в SO, а не в IDE.