![]() |
|
#1
|
||||
|
||||
![]() Нужно очищать текст от тегов
решил с помошью рег выражений Код:
var RegExp: TRegExpr; begin RegExp := TRegExpr.Create; //просто в пример взял этот текст RegExp.InputString:= '<b>Погребенный</b> <b>заживо</b> (Buried). Кинопоиск.Ру </a>'; RegExp.Expression := '>(.*?)<'; RegExp.Exec; ShowMessage(RegExp.Match[1]); RegExp.Free; Последний раз редактировалось ALexandr555, 10.02.2011 в 11:51. |
#2
|
||||
|
||||
![]() А так не проще будет?
Код:
InputString := '<b>Погребенный</b> <b>заживо</b> (Buried). Кинопоиск.Ру </a>'; OutputString := StringReplace(InputString,'<b>','',[rfReplaceAll]); OutputString := StringReplace(InputString,'</b>','',[rfReplaceAll]); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
![]() я же говрю это пример
Цитата:
текст может быть и с другими тегами |
#4
|
||||
|
||||
![]() <b>(.*?)</b> так например тащит но это определенный тег
|
#5
|
||||
|
||||
![]() Код:
var RegExp: TRegExpr; text: string; k: integer; N: integer; begin RegExp := TRegExpr.Create; N:=0; RegExp.Expression := '(<.*?>)'; text:=memo1.text; for k:=1 to Length(text) do if(text[k] = '<') then inc(N); for k:=1 to N do begin RegExp.InputString:= text; RegExp.Exec; text:= StringReplace(text,RegExp.Match[1],' ',[rfReplaceAll]); end; ShowMessage(text); RegExp.Free; end; вобщем вот сделал вроде нормально) |