andreitrane
Новичок
- Сообщения
- 141
- Репутация
- 3
если использовать такой код
то программа может обрабатывать данные, если вместо \d+ стоит число, но если там стоят буквы, то в лог выводится полностью весь входящий пакет, как сделать чтобы программа выводила в лог только то, что между <cardLeft>(\d+)</cardLeft>, даже если там значения с буквами, например b8?
Код:
$sMessage = StringRegExpReplace($Response, '(?s<cardLeft>(\d+)</cardLeft>?.*', '\1')
то программа может обрабатывать данные, если вместо \d+ стоит число, но если там стоят буквы, то в лог выводится полностью весь входящий пакет, как сделать чтобы программа выводила в лог только то, что между <cardLeft>(\d+)</cardLeft>, даже если там значения с буквами, например b8?
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 203, 100, 796, 175)
$idinput = GUICtrlCreateInput("idinput", 16, 8, 81, 21)
$authinput = GUICtrlCreateInput("authinput", 16, 32, 81, 21)
$Button1 = GUICtrlCreateButton("Button1", 16, 56, 81, 25)
$Edit1 = GUICtrlCreateEdit("", 104, 8, 89, 81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Button1
$hren = _hren()
GUICtrlSetData($Edit1, $hren)
EndSwitch
WEnd
Func _hren()
$ID = GUICtrlRead($idinput)
$Auth = GUICtrlRead($authinput)
$URL = "http://109.234.155.196/prison/universal.php?cardGamePlay"
$PostData = "sig=fe015d0685a3aab991f3c6c4e29e7612&user="& $ID &"&key="& $Auth &"&method=cardGamePlay"
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST", $URL)
$oHTTP.setTimeouts(5000, 5000, 10000, 10000)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.Send($PostData)
$oHTTP.WaitForResponse
$Response = $oHTTP.ResponseText
$sMessage = StringRegExpReplace($Response, '(?s).*?<cardLeft>(\d+)</cardLeft>?.*', '\1')
If Not $sMessage Then Return -1
Return $sMessage
EndFunc