|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] StringRegExp. Вытаскивание повторяющихся кусков кода HTML. |
|
[решено] StringRegExp. Вытаскивание повторяющихся кусков кода HTML.
|
Новый участник Сообщения: 43 |
Профиль | Отправить PM | Цитировать
Есть страничка в которой присутствует относительно повторяющийся код :
С этого кода надо выцыпить эти повторы поочереди или массивом. Каждый из повторов я обозначил разным цветом. Мой экспериментальный код и он не работает : $nOffset = 2 While 1 $array = StringRegExp($KodHtml, "(?s).*<TD><IMG onmouseover(.*?)></A></SPAN>.*" , 1, $nOffset) If @error = 0 Then $nOffset = @extended Else ;ExitLoop EndIf for $i = 0 to UBound($array) - 1 msgbox(0, "RegExp Test with Option 1 - " & $i, $array[$i]) Next WEnd Заранее благодарю. |
|
Отправлено: 02:17, 05-12-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Creat0R:
|
|
------- Отправлено: 12:46, 05-12-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Не выходит.
Пробовал : $array = StringRegExp($KodHtml, "(?s)<TD><IMG onmouseover(?:\s?)+(.*?)(?:\s?)+</TD>.*" , 1,$nOffset ) $array = StringRegExp($KodHtml, "(?s).*<TD><IMG onmouseover(?:\s?)+(.*?)(?:\s?)+</TD>.*" , 1,$nOffset ) $array = StringRegExp($KodHtml, "(?s).*?<TD><IMG onmouseover(?:\s?)+(.*?)(?:\s?)+</TD>.*" , 1,$nOffset ) Берет первый повтор и всё... |
Отправлено: 20:59, 05-12-2009 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата ikif:
http://forum.oszone.net/rules.html Цитата:
|
||
------- Отправлено: 00:24, 06-12-2009 | #4 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Подправил.
Мне то понятно что я хочу, поэтому не всегда вижу где что умолчал или не обьяснил. При первом написании старался описать доступно и подробно, но это с моей колокольни мне так кажется. |
|
Отправлено: 01:21, 06-12-2009 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата ikif:
Может так: |
|
------- Отправлено: 02:33, 06-12-2009 | #6 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Огромнейшее спасибо!!!!
Повторы у меня : весь синий кусок текста , это первый повтор. Следующий повтор- весь синий текст и т.д. Ещё раз извеняюсь , я просто учусь не на русском языке, поэтому трудно иногда выразиться техническим языком. То что у меня вышло с вашей помощью : $sSource = ClipGet() ;В б.обмена содержится текст странички (исходный код) $nOffset = 2 While 1 $sPattern = '(?s).*?<TD><IMG onmouseover=(.*?)</TD>.*?' $aRet = StringRegExp($sSource , $sPattern, 1, $nOffset) If @error = 0 Then $nOffset = @extended Else ExitLoop EndIf For $i = 0 To UBound($aRet) -1 MsgBox(64, 'Title', $aRet[$i]) Next WEnd Весь секрет оказался в "?" в конце . Перед <TD> я пробовал ставить "?" , не помогало. Эти $sPattern основная проблема у меня. Жаль что тут на форуме нет одной темы с подробным описанием и с множеством примеров (даже в русском help не очень понял , что к чему ). Ещё раз,раз,раз СПАСИБО |
Отправлено: 09:58, 06-12-2009 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Только зачем использовать оффсет и цикл?
Вот тот же результат: $sSource = ClipGet() ;В б.обмена содержится текст странички (исходный код) $sPattern = '(?s).*?<TD><IMG onmouseover=(.*?)</TD>.*?' $aRet = StringRegExp($sSource, $sPattern, 3) For $i = 0 To UBound($aRet) -1 MsgBox(64, 'Title', $aRet[$i]) Next Цитата ikif:
|
|
------- Отправлено: 10:30, 06-12-2009 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Обработка многострочного HTML кода с одинаковыми строчками. | FlatX007 | AutoIt | 7 | 02-12-2009 09:50 | |
[решено] Разбор HTML-кода на логические части | Мартиша | Вебмастеру | 9 | 20-06-2009 00:09 | |
[решено] JavaScript. Генерация html-кода. | System Failure | Вебмастеру | 3 | 20-07-2007 15:28 | |
Просмотр HTML-кода в IE | xkspy | Хочу все знать | 11 | 30-11-2006 16:40 | |
оптимизатор HTML кода | koresaram | Вебмастеру | 9 | 20-09-2003 03:46 |
|