![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| sneJok |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
Пишу парсер для хтмл кода, нужно убрать ссылки во всем html коде.
Вот код:
Вопросы: 1) Почему не работает код поиска тега <td, если реализовать так:
2) При переборе, почему то выделяется всегда первая строка :/ , дальше перебор не идет, почему? 3) Как удалить выделенный тег? Заранее благодарю. |
||||
|
|||||
| fse |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.9.2007 Где: г. Рязань Репутация: 1 Всего: 1 |
Привет. Попробуй так:
По щелчку на Button1 найдётся TD, Button2 - удалится выделенный текст |
|||
|
||||
| sneJok |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
Все-таки интересно узнать, что я сделал не так...
Спасибо за быстрый ответ, и за пример, ща буду разбираться. |
|||
|
||||
| DonPager |
|
|||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
во-первых надо привести буковки перед проверкой либо к верху либо к низу(UperCase LowerCase)
во вторых это не совсем корректно т.k. хтмл позволяет располагать название тегов как хочет
-------------------- кодер + лодырь = колдырь |
|||
|
||||
| fse |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.9.2007 Где: г. Рязань Репутация: 1 Всего: 1 |
Посмотрим...
1. for i:=1 to Memo1.Lines.Count-1 do i должна индексироваться с 0 2. Главное. if (MEmo1.Lines.Text[y]='<') then ... Скорее тогда if (MEmo1.Lines[i, y]='<') then ... Добавлено через 6 минут и 45 секунд DonPager, вариант
Всё же, наверно, вряд ли. После < не допускается белых мест. Хотя блин, кто знает, по-всякому пишут! |
||||
|
|||||
| sneJok |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
вопросы...
Зачем?
Не понял кода. Поясни . |
||||
|
|||||
| fse |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.9.2007 Где: г. Рязань Репутация: 1 Всего: 1 |
if (MEmo1.Lines[i, y]='<') then ...
Вернее так: if (MEmo1.Lines[i][y]='<') then ... Это мы берём i-тую строку, символ y. Только тогда нужно ещё сделать проверку, не пустая ли строка, иначе будет ошибка. А вообще, советую сделать не так, а-то как-то не по-хорошему Используй код, что я тебе дал хотя бы.
Как зачем? Человек может написать и <td> и <TD>. Их сравнение покажет, что они не равны. А если сделать так if LowerCase(S) = '<td' - то всё покатит. |
|||
|
||||
| DonPager |
|
||||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
Затем что тогда ты сможешь смело их сравнивать или с большими буковками или с маленькими не боясь что в коде используются другие
-------------------- кодер + лодырь = колдырь |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |