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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2017, 17:53   #1
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию While. Удалить атрибуты тэгов html

Понадобилось мне почистить исходник html, но не удалять тэги, а лишь только удалить атрибуты у тэгов (ссылки можно игнорировать)

Набросал так, по идее все логично, но почему-то не работает:

FindStr - Функция поиска между символами (ошибки не в ней)
в srcHTML - исходный код страницы полученный synapse
PosEx использовать не хочется.

Код:
 while (FindStr(srcHTML,'<','>',false)>'') and (pos(#32,FindStr(srcHTML,'<','>',false))>0) do begin
        TempStr:=FindStr(srcHTML,'<','>',false);
        TempStr:=copy (TempStr,1,pos(' ',TempStr)-1)+'>';
        srcHTML:=StringReplace(srcHTML,FindStr(srcHTML,'<','>',false),TempSTR,[]);

 end;
        Memo1.Text:=srcHTML;
По сути цикл должен обрабатывать только если что-то есть между '<' и '>' и там есть пробел

На деле он обрабатывает только первое вхождение. Проверял убрав условия поиска пробела - цикл проходитполностью, вставляю условие поиска пробела - все, только одно вхождение и цикл завершается. Первый раз с таким сталкиваюсь. Может дело в кодировке? Исходник забираю в UTF8, пробовал UTF8Decode, не помогло. Пробовал и #32 и #160 вместо пробела - тоже никак
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 09.03.2017, 21:00   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,216
По умолчанию

Условие продолжения цикла - найден тег, в этом теге есть пробел. Если найден тег, а в нем нет пробела - цикл завершается. Если тег с пробелом найден, вы удаляете из него пробел. На следующей итерации опять его же находите, но уже без пробела - цикл завершается.
Arigato вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод тэгов HTML в TreeView kettanaito Общие вопросы Delphi 6 27.12.2011 19:36
Удаление всех html тэгов из строки. askerpro PHP 3 28.11.2011 20:15
Все атрибуты всех тэгов, css. Deight HTML и CSS 5 13.02.2009 19:29
Помогите перевести атрибуты HTML в CSS Devoto HTML и CSS 1 07.07.2008 23:29
Добавление html тэгов в поле TEXTAREA Reverent Общие вопросы по Java, Java SE, Kotlin 0 30.05.2007 15:06