Что нового

Извлечение последней ссылки из параметра Href

Rjevsky

Новичок
Сообщения
102
Репутация
4
Привет всем! Замучался с составлением регекса! Помогите!
Надо из этого блока вытащить ссылку, стоящую перед словом далее.
Код:
<div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;"><span>Назад</span> <span>1</span> <a href="http://www.xxx.ru/page/2/">2</a> <a href="http://www.xxx.ru/page/3/">3</a> <a href="http://www.xxx.ru/page/4/">4</a> <a href="http://www.xxx.ru/page/5/">5</a> <a href="http://www.xxx.ru/page/6/">6</a> <a href="http://www.xxx.ru/page/7/">7</a> <a href="http://www.xxx.ru/page/8/">8</a> <a href="http://www.xxx.ru/page/9/">9</a> <a href="http://www.xxx.ru/page/10/">10</a> ... <a href="http://www.xxx.ru/page/2570/">2570</a> <a href="http://www.xxx.ru/page/2/">Далее</a></div></div>
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
#include 'array.au3'
$file=ClipGet()
$str=StringRegExp($file,'<a href="(.*?)">Далее',3)
_ArrayDisplay($str)
 
Автор
R

Rjevsky

Новичок
Сообщения
102
Репутация
4
такой регекс и у меня получился, однако он захватывает все ссылки href до слова далее.


Вчера голова уже совсем не соображала, когда вставлял образец, для наглядности расставил переносы строки, их там нет в оригинале.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Rjevsky [?]
для наглядности расставил переносы строки, их там нет в оригинале.
Код:
$sHTML = '<div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;"><span>Назад</span> <span>1</span> ' & _
		'<a href="http://www.xxx.ru/page/2/">2</a> <a href="http://www.xxx.ru/page/3/">3</a> ' & _
		'<a href="http://www.xxx.ru/page/4/">4</a> <a href="http://www.xxx.ru/page/5/">5</a> ' & _
		'<a href="http://www.xxx.ru/page/6/">6</a> <a href="http://www.xxx.ru/page/7/">7</a> ' & _
		'<a href="http://www.xxx.ru/page/8/">8</a> <a href="http://www.xxx.ru/page/9/">9</a> ' & _
		'<a href="http://www.xxx.ru/page/10/">10</a> ... <a href="http://www.xxx.ru/page/2570/">2570</a> ' & _
		'<a href="http://www.xxx.ru/page/222/">Далее</a></div></div>'

$sHref = StringRegExpReplace($sHTML, '(?is).*(http[^<>]+?)[''"]>Далее.*', '$1')
ConsoleWrite(@extended & @TAB & $sHref & @LF)

$sHTML = '<div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;"><span>Назад</span> <span>1</span> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/2/">2</a> <a href="http://www.xxx.ru/page/3/">3</a> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/4/">4</a> <a href="http://www.xxx.ru/page/5/">5</a> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/6/">6</a> <a href="http://www.xxx.ru/page/7/">7</a> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/8/">8</a> <a href="http://www.xxx.ru/page/9/">9</a> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/10/">10</a> ... <a href="http://www.xxx.ru/page/2570/">2570</a> ' & @CRLF & _
		'<a href="http://www.xxx.ru/page/200/">Далее</a></div></div>' & @CRLF

$sHref = StringRegExpReplace($sHTML, '(?is).*(http[^<>]+?)[''"]>Далее.*', '$1')
ConsoleWrite(@extended & @TAB & $sHref & @LF)
 
Верх