Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Вытянуть содержание HTML тега с помощью регулярных выражений (http://forum.oszone.net/showthread.php?t=149121)

aesir 28-08-2009 03:34 1205158

Вытянуть содержание HTML тега с помощью регулярных выражений
 
Вечер добрый всем! Помогите написать регулярное выражение. Вобщесть есть следующие данные <div id ="div1">...</div>. мне нужно вынуть содержание данного блока. Вместо трех точек может находится разнообразный текст. Дело в том что если этот блок представлен одной строкой то найти проблемы не возникает - <div id=.div1.>(?<content>.+)</div>...Но как изменить это выражение чтобы оно могло реагировать и на присутствие знака переноса строки и возврата каретки?
Заранее благодарен!

Creat0R 28-08-2009 05:21 1205167

Код:

$sStr = @CRLF & '<body>' & @CRLF & '<div id="div1">... content ... ' & @CRLF & ' ...</div>' & @CRLF & '</body>'

$Test = StringRegExpReplace($sStr, '(?s).*<div id="div1">(.*)</div>.*', '\1')

ConsoleWrite($Test & @CRLF)

Из справки:

Цитата:

(?s) - matches anything including newline. (by default "." don't match newline)

aesir 28-08-2009 12:00 1205334

уууууу спасибо огромное!!! очень помог, а я блин смотрел и в упор не видел что (s?) ловит все подряд:)))Спасибо еще раз!

Creat0R 28-08-2009 16:23 1205611

Цитата:

Цитата aesir
спасибо огромное!!! очень помог »

Для этого есть ссылка Полезное сообщение под этим самым сообщением. А тему принято отмечать решённой (в заголовке темы есть ссылка «Отметить решенной»), если она является таковой ;)

aesir 28-08-2009 21:22 1205848

Спасибо за совет и еще раз спасибо за помощь!!!:)))


Время: 23:01.

Время: 23:01.
© OSzone.net 2001-