![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция удаления тегов из HTML
[wl] © (2006-07-27 11:20:00)скиньте пожалуйста такую функцию, если у кого-то есть.
@BraIN (2006-07-28 13:37:00) [1]Уже много-много раз говорили, что не предназначен regexpr для парсинга html. В FastLib есть функция StripHTMLorNonHTML.
http://www.megalib.com/books/923/63.htm
Оран Гутангович (2006-07-28 08:14:00) [2]Регулярным выражением проще всего. Выглядит это примерно так
function GetRowText(MessageText:String):String; // удаляет теги из текста и лишние пробелы
var buff:String;
begin
buff:=MessageText;
with FExp do
begin
RegEx:='<.*>'; // удаление тегов
Options:=[preUnGreedy];
Subject :=buff;
Replacement := '';
ReplaceAll;
buff:=Subject;
RegEx:='\s{2,}'; // удаление лишних пробелов
Options:=[preUnGreedy];
Subject :=buff;
Replacement := '';
ReplaceAll;
buff:=Subject;
end;
Result:=buff;
end;
Slym (2006-07-28 07:17:00) [3]Загружаешь в MSXML.DOMDocument и по веточкам бежишь выдирая Text
tButton (2006-07-28 06:27:00) [4]есть функция которая режет комменты из HTML (к сожалению закомментированые скрипты тоже =))
могу в принципе приспособить под резку всех тегов
wl (2006-07-28 00:59:00) [5]да как-то не хотелось изобретать велосипед, обязательно что-то упущу...
ну ладно, раз готового нет...
TUser (2006-07-27 18:03:00) [6]Имхо, проще самому написать. См. про конечные автоматы, тут эта тема тоже много раз была.
[wl] (2006-07-27 11:29:00) [7]или компонент, если такой существует.
Если просто удалить от < до >, тогда получится одна длинная строка (или несколько длинных), такой вариант не подходит