Что нового

Отслеживать url адрес

GUIMish

Знающий
Сообщения
122
Репутация
12
Привет всем!
Я тут кое-что делаю (надеюсь что скоро выставлю), как бы мне сделать так, когда копируешь url адрес, а он этот url, а не любой текст, который в буфере, бросал в input, чтобы он определял что url, а что нет, и бросал в input!
Подскажите пожалуйста?

Я имел в ввиду то, что, это как в программах, для закачки файлов: "Отслеживать url адрес"
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
GUIMish
В справке к функции
Код:
StringRegExp


в самом конце, перед примером, описан паттерн для выделения ссылок:

Код:
#include <Array.au3>

$sText = FileRead(@ScriptDir & '\0.txt')
$aUrl = StringRegExp($sText, '(?si)(?:.*?)?(https?://[\w.:]+/?(?:[\w/?&=.~;\-+!*_#%])*)', 3)
_ArrayDisplay($aUrl)


Пример с Input
Код:
#include <GUIConstantsEx.au3>

$hParent = GUICreate('Окно', 344, 273, -1, -1, -1)
$nButton1 = GUICtrlCreateButton('Получить из буфера', 85, 96, 161, 89, 0)
$Input1 = GUICtrlCreateInput('', 36, 44, 241, 24)

GUISetState(@SW_SHOW, $hParent)

WinSetOnTop($hParent, '', 1)

While 1
	$aMsg = GUIGetMsg()

	Switch $aMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nButton1
			$sData = ClipGet()
			$aUrl = StringRegExp($sData, '(?si)(?:.*?)?(https?://[\w.:]+/?(?:[\w/?&=.~;\-+!*_#%])*)', 3)
			If IsArray($aUrl) And $aUrl[0] = $sData Then GUICtrlSetData($Input1, $aUrl[0])
	EndSwitch
WEnd
 
Верх