Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2009, 22:14   #1
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию Удаление тегов в файле html

Здравствуйте, помогите пожалуйста чем сможете..
Есть файл html, надо удалить из него все теги с "<" по ">" по всему файлу.
Пытался циклом
Код:
while Pos('<',s)<>0 do begin
  Delete(s,Pos('<',s),Pos('>',s));
end;
но нечего нормального из этого не вышло...
W0LF вне форума Ответить с цитированием
Старый 01.11.2009, 22:24   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

сомни про PosEx.. будет шото типа такого
Код:
i:=Pos('<',s);
while i>0 do begin
  j:=PosEx('<',s, i);
  Delete(s,i,j-i);
  i:=Pos('<',s);
end;
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 01.11.2009, 22:25   #3
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Может так ?
Код:
while Pos('<',s)<>0 do begin
  Delete(s,Pos('<',s),Pos('>',s) - Pos('<',s) + 1);
end;
Цитата:
procedure Delete(var S: string; Index, Count:Integer);
Цитата:
Сообщение от Ntlegend Посмотреть сообщение
сомни про PosEx.. будет шото типа такого
Код:
i:=Pos('<',s);
while i>0 do begin
  j:=PosEx('<',s, i);
  Delete(s,i,j-i);
  i:=Pos('<',s);
end;
Что у тебя сегодня много опечаток ( в том числе и в коде )
Код:
i:=Pos('<',s);
while i>0 do begin
  j:=Pos('>',s);
  Delete(s,i,j - i + 1);
  i:=Pos('<',s);
end;

Последний раз редактировалось Stilet; 02.11.2009 в 10:20.
s.Creator вне форума Ответить с цитированием
Старый 01.11.2009, 22:48   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

s.Creator врое не новичок на форуме.. а кнопку "правка" досихпор не намацал..

в той строке именно PosEx нада.. если делфи ругается на эту функцыю - это изза тупости того кто пишет.. т.к. нада подключить модуль StrUtils..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 01.11.2009, 23:21   #5
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
Сообщение от Ntlegend Посмотреть сообщение
s.Creator врое не новичок на форуме.. а кнопку "правка" досихпор не намацал..

в той строке именно PosEx нада.. если делфи ругается на эту функцыю - это изза тупости того кто пишет.. т.к. нада подключить модуль StrUtils..
Ну если предположить, что знак ">" в html может появиться до знака "<" то можно и
Код:
j:=PosEx('>',s, i);
Только в Вашем коде вообще ни одного закрывающего знака ">" нет - хотя врое не новичок.

( Кстати, в той строке хотел выделить именно '>' - но эти символы почему-то жирным шрифтом не пишутся )

Последний раз редактировалось s.Creator; 01.11.2009 в 23:29.
s.Creator вне форума Ответить с цитированием
Старый 02.11.2009, 10:41   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Немного теории о сути проблемы ...
Автор, а ты уверен, что все теги непарные ? Если учесть теорию HTML: есть например одинарные теги - "а"
PHP код:
<a href="http://ya.ru/"><img src="images/logo.gif"></a
Вот тут получается что если удалять все между "<" и ">", то удалится и нужная информация (ссылка). Или ничего такого нет в обрабатываемом файле ?
И все будет прекрасно, например, с тегом "р" потому как он парный:
PHP код:
<p style="text-align: left;">О программе.</p
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 14.08.2011, 20:55   #7
SportPuma
 
Регистрация: 14.08.2011
Сообщений: 4
По умолчанию

Пожалуйста дайте рабочий пример где есть переменная с текстом из которой удаляются теги а то я так ничего не понимаю. заранее благодарен
SportPuma вне форума Ответить с цитированием
Старый 14.08.2011, 21:23   #8
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

я делал так:
прохожу циклом по коду из которого нужно удалить теги, в цикле условие
если встретился символ < то переменная флаг = истина если > то = ложь
ниже еще условие если флаг = истина удалять символы.
Работает норм.
fate вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как пропарсив HTML страничку занести результат тегов <span></span> в label? Ramal Работа с сетью в Delphi 4 27.10.2009 03:54
удаление строк в файле lg12 Помощь студентам 6 25.08.2009 00:00
3d облако тегов serega_od PHP 5 20.07.2009 15:37
html- извлеч значения из тегов idem_id Помощь студентам 3 08.04.2009 19:56