Что нового

[RegExp] Вытащить текст из html кода имеющего много кавычек

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Как вытащить текст из html кода имеющего много кавычек:
Нужен текст:
Код:
http://ru3.darkorbit.bigpoint.com/GameAPI.php?req=YTo1OntzOjY6ImFjdGlvbiI7czoyMToicG9ydGFsLmxvZ2luQnlDcnlwdElkIjtzOjEyOiJsb2dpbkNyeXB0SWQiO3M6MzI6ImY0MzNiMDg1YjA1MjcwNmJmM2Y4YzhkYzU0N2ZlZWFjIjtzOjY6ImdhbWVJZCI7aToyNTU7czo2OiJsb2NhbGUiO3M6MjoicnUiO3M6OToiYm9udXNDb2RlIjtOO30%3D&sign=0223c147e111a759b97988f519816645&aid=886&aip=dark+orbit&aig=22&lang=ru&ref_sid=4c803f9ee8a23ad27f408a9c53033b72&ref_pid=22&__utma=1.773231572.1328804252.1330533035.1330535666.53&__utmb=1.14.10.1330535666&__utmc=1&__utmx=-&__utmz=1.1328804252.1.1.utmcsr%3D%28direct%29%7Cutmccn%3D%28direct%29%7Cutmcmd%3D%28none%29&__utmv=-&__utmk=99884062
Из файла во вложениях.

У меня не получается его выделить из-за множества ковычек :(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
_Lexa98_,
Попробуйте так.
Код:
$sText = FileRead(@ScriptDir & '\html.txt')
$sUrl = StringRegExpReplace($sText, '(?is).*instance_2".*?\(''(.*?)'',.*', '$1')
If @extended <> 1 Then Exit 100
MsgBox(64, 'Info', $sUrl)
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Ну или так:
Код:
$HTML = FileRead(@ScriptDir & '\html.txt')
$Reg = StringRegExp($HTML, '(?si)(?:.*?)?(https?:\/\/[\w.:]+\/?(?:[\w\/?&=.~;\-+!*_#%])*)', 3)
For $i = 0 To UBound($Reg) - 1
	$RegExp = StringRegExpReplace($Reg[$i], '(?:https?\:\/\/)*(?:www\.)*(.*?[^\/]*)(?:.*)', '\1')
	If $RegExp = 'ru3.darkorbit.bigpoint.com' Then ExitLoop MsgBox(0, 'URL', $Reg[$i])
Next
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
madmasles
Почему то он показывает это:
Код:
http://int10.darkorbit.bigpoint.com/GameAPI.php?req=YTo1OntzOjY6ImFjdGlvbiI7czoyNzoicG9ydGFsLmFkZEluc3RhbmNlQnlDcnlwdElkIjtzOjEyOiJsb2dpbkNyeXB0SWQiO3M6MzI6IjEwNGNkODUxYzAyZGNkNGI5YzFkYjg1YTViMjllYzVjIjtzOjY6ImdhbWVJZCI7aTozOTA7czo2OiJsb2NhbGUiO3M6MjoicnUiO3M6OToiYm9udXNDb2RlIjtOO30%3D&sign=be661faa5941991424e4706f7c44d432&aid=886&aip=dark+orbit&lang=ru&ref_sid=d24c6a42460836198264de9442b851f3&ref_pid=22&__utma=-&__utmb=-&__utmc=-&__utmx=-&__utmz=-&__utmv=-&__utmk=38294271
А не:
Код:
http://ru3.darkorbit.bigpoint.com/GameAPI.php?req=YTo1OntzOjY6ImFjdGlvbiI7czoyMToicG9ydGFsLmxvZ2luQnlDcnlwdElkIjtzOjEyOiJsb2dpbkNyeXB0SWQiO3M6MzI6ImY0MzNiMDg1YjA1MjcwNmJmM2Y4YzhkYzU0N2ZlZWFjIjtzOjY6ImdhbWVJZCI7aToyNTU7czo2OiJsb2NhbGUiO3M6MjoicnUiO3M6OToiYm9udXNDb2RlIjtOO30%3D&sign=0223c147e111a759b97988f519816645&aid=886&aip=dark+orbit&aig=22&lang=ru&ref_sid=4c803f9ee8a23ad27f408a9c53033b72&ref_pid=22&__utma=1.773231572.1328804252.1330533035.1330535666.53&__utmb=1.14.10.1330535666&__utmc=1&__utmx=-&__utmz=1.1328804252.1.1.utmcsr%3D%28direct%29%7Cutmccn%3D%28direct%29%7Cutmcmd%3D%28none%29&__utmv=-&__utmk=99884062
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Спасибо всем! :laugh: Но вариант Zaramotа мне больше подходит :smile:
 
Верх