Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 04:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



StringRegExp - bestimmte Sachen ändern

Discussion on StringRegExp - bestimmte Sachen ändern within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
StringRegExp - bestimmte Sachen ändern

Hi epvpers,

ich habe vor nicht allzu langer Zeit einen Thread gepostet indem es um StringRegExp ging und wie man damit was aus einem Quelltext ausliest..

So jz wollte ich dazu fragen wie man es nun anstellt aus:

Code:
http://www.youtube.com/embed/r_JxFNU0F-Q?rel=0
zu das macht:
Code:
http://www.youtube.com/watch?v=r_JxFNU0F-Q
d.h Das "embed/" und das "?rel=0" muss weg...
dafür muss aber ein "watch?v=" hinzu...

Hoffe es funktioniert..

MfG Ludder231
Ludder231 is offline  
Old 06/05/2011, 21:07   #2
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Keiner ne ahnung?? :/ -.-
Ludder231 is offline  
Old 06/05/2011, 21:32   #3
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Ludder231 View Post
Keiner ne ahnung?? :/ -.-
PHP Code:
$var="http://www.youtube.com/embed/r_JxFNU0F-Q?rel=0"
$var=Stringreplace($var,"?rel=0","")
$var=Stringreplace($var,"embed/","watch?v="
Shadow992 is offline  
Thanks
1 User
Old 06/06/2011, 09:21   #4
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
über regexp könnte man das ganze so lösen:
Code:
$string = 'http://www.youtube.com/embed/r_JxFNU0F-Q?rel=0'
$new = StringRegExpReplace($string, 'http://www.youtube.com/embed/(.+)\?rel=0', 'http://www.youtube.com/watch?v=${1}')
ConsoleWrite($new&@CRLF)
lolkop is offline  
Thanks
1 User
Old 06/06/2011, 11:57   #5
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Danke euch beiden aber ich hab keine ahung wie ich das in mein Script einfügen/anpassen soll, da ich noch nicht so oft mit StringRegExp et6c. gearbeitet habt...

PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\ludder.luca\eigene dateien\facebooktool.kxf
$Form1 GUICreate("Facebook Tool"324176218255)
$Input1 GUICtrlCreateInput("URL"84030521)
$Button1 GUICtrlCreateButton("Check"80727525)
$Button2 GUICtrlCreateButton("Clear"168727525)
$Label1 GUICtrlCreateLabel("Insert the URL and press 'Check' to encode the URL"8831220)
GUICtrlSetFont(-1104000"MS Sans Serif")
$List1 GUICtrlCreateList(""010432475BitOR($GUI_SS_DEFAULT_LIST,$WS_HSCROLL))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Do
    
$Msg GUIGetMsg()
    If 
$Msg == $button1 Then
        $len 
stringlen(".jpg")
        
$len2 =stringlen(".jpeg")
        
        
$String StringRegExp(BinaryToString(InetRead(GUICtrlRead($input1))), 'src="http://www.youtube.com/(.*?)"'3)
        
$string2 StringRegExp(BinaryToString(InetRead(GUICtrlRead($input1))), 'content="http://(.*?)"'3)
        
$string3 stringright(binarytostring(inetread(guictrlread($input1))), $len or $len2)
        
$string4 StringRegExpReplace($String'http://www.youtube.com/embed/(.+)\?rel=0''http://www.youtube.com/watch?v=${1}')
        
        
        If 
IsArray($StringThen ;youtube
            guictrlsetdata
($list1"["&@hour&":"&@min&":"&@sec&"]"&" "&$String[0])
            
ShellExecute("http://www.youtube.com/" &$String4[0])
            
        elseif 
IsArray($String2&$string3Then
            guictrlsetdata
($list1"["&@hour&":"&@min&":"&@sec&"]"&" "&$string2[0])
        
ShellExecute("http://" &$string2[0])
        
        elseif 
IsArray($String) or isArray($String2&$string3) = 0 Then
        MsgBox
(16"Fehler""Es wurde kein Video oder Bild gefunden!")
    
        endif
    endif
    
    if 
$msg $button2 Then
        guictrlsetdata
($input1"")
    EndIf
    
    
Sleep(10)
Until $Msg == -
Ludder231 is offline  
Old 06/06/2011, 16:51   #6
 
V8II's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 475
Received Thanks: 130
Wenn ich dich jetzt nicht falsch verstanden habe dann so :
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\ludder.luca\eigene dateien\facebooktool.kxf
$Form1 GUICreate("Facebook Tool"324176218255)
$Input1 GUICtrlCreateInput("URL"84030521)
$Button1 GUICtrlCreateButton("Check"80727525)
$Button2 GUICtrlCreateButton("Clear"168727525)
$Label1 GUICtrlCreateLabel("Insert the URL and press 'Check' to encode the URL"8831220)
GUICtrlSetFont(-1104000"MS Sans Serif")
$List1 GUICtrlCreateList(""010432475BitOR($GUI_SS_DEFAULT_LIST$WS_HSCROLL))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Do
    
$Msg GUIGetMsg()
    If 
$Msg == $Button1 Then
        $len 
StringLen(".jpg")
        
$len2 StringLen(".jpeg")

        
$String StringRegExp(BinaryToString(InetRead(GUICtrlRead($Input1))), 'src="http://www.youtube.com/(.*?)"'3)
        
$string2 StringRegExp(BinaryToString(InetRead(GUICtrlRead($Input1))), 'content="http://(.*?)"'3)
        
$string3 StringRight(BinaryToString(InetRead(GUICtrlRead($Input1))), $len Or $len2)
        
$string4 StringRegExpReplace($String'http://www.youtube.com/embed/(.+)\?rel=0''http://www.youtube.com/watch?v=${1}')
        
$String StringReplace($String"?rel=0""")
        
$String StringReplace($String"embed/""watch?v=")

        If 
Not IsArray($StringThen ;youtube
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $String[0])
            
ShellExecute("http://www.youtube.com/" $string4[0])

        ElseIf 
IsArray($string2 $string3Then
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $string2[0])
            
ShellExecute("http://" $string2[0])

        ElseIf 
IsArray($String) Or IsArray($string2 $string3) = 0 Then
            MsgBox
(16"Fehler""Es wurde kein Video oder Bild gefunden!")

        EndIf
    EndIf

    If 
$Msg $Button2 Then
        GUICtrlSetData
($Input1"")
    EndIf

    
Sleep(10)
Until $Msg == -
... Da hat ja jemand gelernt mit Variablen zu arbeiten =)

Lg
V8II is offline  
Old 06/06/2011, 19:08   #7
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Quote:
Originally Posted by V8II View Post
Wenn ich dich jetzt nicht falsch verstanden habe dann so :

... Da hat ja jemand gelernt mit Variablen zu arbeiten =)

Lg
Nee nicht ganz, weil er öffnet ja youtube mit dem "www.youtube/embed/dhasiopd?rel=0" und er soll das "?rel=0" wegmachen und das "embed/" durch "watch?v=" ersetzen, damit das Video nicht mehr auf vollbild ist und man auf die direkte Youtubeseite gelangt.

D.h: Man müsste bei shellexecute iwie noch was hinmachen...?
PHP Code:
ShellExecute("http://www.youtube.com/" &$string[0]) 
So "addiert" er ja nur "embed/blabla?rel=0"(was ich aus dem $string ausgelsenen habe) auf das "www.youtube.com/" rauf...
Aber er soll das ja noch umändern damit das nicht emhr Vollbild ist...

P.S: Ja hab ich
Ludder231 is offline  
Old 06/06/2011, 21:12   #8
 
V8II's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 475
Received Thanks: 130
Das wird doch eh durch das
PHP Code:
********$String*=*StringReplace($String,*"embed/",*"watch?v="
erledigt oder?

P.S: Du musst es nicht per ShellExecute machen es geht auch per _IECreate und _IENavigate.

Edit: Ich sehe gerade dass ja gar nicht $String sondern $string4[0] aufgerufen wird. Einfach das StringRegExpReplace wegmachen und Shadows Lösung einfügen, die Variable $var in Shadows Script musst du halt noch in $string4[0] umbenennen. Ich kann es dir nicht machen, vom IPod ist es doch recht schwer ...
V8II is offline  
Old 06/06/2011, 21:18   #9
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Quote:
Originally Posted by V8II View Post
Wenn ich dich jetzt nicht falsch verstanden habe dann so :
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\ludder.luca\eigene dateien\facebooktool.kxf
$Form1 GUICreate("Facebook Tool"324176218255)
$Input1 GUICtrlCreateInput("URL"84030521)
$Button1 GUICtrlCreateButton("Check"80727525)
$Button2 GUICtrlCreateButton("Clear"168727525)
$Label1 GUICtrlCreateLabel("Insert the URL and press 'Check' to encode the URL"8831220)
GUICtrlSetFont(-1104000"MS Sans Serif")
$List1 GUICtrlCreateList(""010432475BitOR($GUI_SS_DEFAULT_LIST$WS_HSCROLL))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Do
    
$Msg GUIGetMsg()
    If 
$Msg == $Button1 Then
        $len 
StringLen(".jpg")
        
$len2 StringLen(".jpeg")

        
$String StringRegExp(BinaryToString(InetRead(GUICtrlRead($Input1))), 'src="http://www.youtube.com/(.*?)"'3)
        
$string2 StringRegExp(BinaryToString(InetRead(GUICtrlRead($Input1))), 'content="http://(.*?)"'3)
        
$string3 StringRight(BinaryToString(InetRead(GUICtrlRead($Input1))), $len Or $len2)
        
$string4 StringRegExpReplace($String'http://www.youtube.com/embed/(.+)\?rel=0''http://www.youtube.com/watch?v=${1}')
        
$String StringReplace($String"?rel=0""")
        
$String StringReplace($String"embed/""watch?v=")

        If 
Not IsArray($StringThen ;youtube
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $String[0])
            
ShellExecute("http://www.youtube.com/" $string4[0])

        ElseIf 
IsArray($string2 $string3Then
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $string2[0])
            
ShellExecute("http://" $string2[0])

        ElseIf 
IsArray($String) Or IsArray($string2 $string3) = 0 Then
            MsgBox
(16"Fehler""Es wurde kein Video oder Bild gefunden!")

        EndIf
    EndIf

    If 
$Msg $Button2 Then
        GUICtrlSetData
($Input1"")
    EndIf

    
Sleep(10)
Until $Msg == -
... Da hat ja jemand gelernt mit Variablen zu arbeiten =)

Lg
Quote:
Originally Posted by V8II View Post
Das wird doch eh durch das
PHP Code:
********$String*=*StringReplace($String,*"embed/",*"watch?v="
erledigt oder?

P.S: Du musst es nicht per ShellExecute machen es geht auch per _IECreate und _IENavigate.

Edit: Ich sehe gerade dass ja gar nicht $String sondern $string4[0] aufgerufen wird. Einfach das StringRegExpReplace wegmachen und Shadows Lösung einfügen, die Variable $var in Shadows Script musst du halt noch in $string4[0] umbenennen. Ich kann es dir nicht machen, vom IPod ist es doch recht schwer ...
Aber ich bekomms nicht hin es in mein Script zu benutzen zmd funktioniert es nie
Ludder231 is offline  
Old 06/06/2011, 22:00   #10
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Änder die Variable $string4 zu $string.
BlackHybrid is offline  
Old 06/06/2011, 22:15   #11
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Quote:
Originally Posted by BlackHybrid View Post
Änder die Variable $string4 zu $string.
Wenn ich das mache kommt aber nur "Http:www.youtube.com"
Ludder231 is offline  
Old 06/06/2011, 23:11   #12
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Sorry habs mir net genau angekuggt.
Hier ist nochmal eine Alternative:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\ludder.luca\eigene dateien\facebooktool.kxf
$Form1 GUICreate("Facebook Tool"324176218255)
$Input1 GUICtrlCreateInput("URL"84030521)
$Button1 GUICtrlCreateButton("Check"80727525)
$Button2 GUICtrlCreateButton("Clear"168727525)
$Label1 GUICtrlCreateLabel("Insert the URL and press 'Check' to encode the URL"8831220)
GUICtrlSetFont(-1104000"MS Sans Serif")
$List1 GUICtrlCreateList(""010432475BitOR($GUI_SS_DEFAULT_LIST$WS_HSCROLL))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Do
    
$Msg GUIGetMsg()
    If 
$Msg == $Button1 Then
        $len 
StringLen(".jpg")
        
$len2 StringLen(".jpeg")
        
$string "http://www.youtube.com/embed/r_JxFNU0F-Q?rel=0"
        
$string StringSplit($string"embed/",1)
        
$string $string[1]&"watch?v="&$string[2]
        
$string2 StringRegExp(BinaryToString(InetRead(GUICtrlRead($Input1))), 'content="http://(.*?)"'3)
        
$string3 StringRight(BinaryToString(InetRead(GUICtrlRead($Input1))), $len Or $len2)

        If 
Not IsArray($StringThen ;youtube
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $String[0])
            
ShellExecute("http://www.youtube.com/" $string)

        ElseIf 
IsArray($string2 $string3Then
            GUICtrlSetData
($List1"[" & @HOUR ":" & @MIN ":" & @SEC "]" " " $string2[0])
            
ShellExecute("http://" $string2[0])

        ElseIf 
IsArray($String) Or IsArray($string2 $string3) = 0 Then
            MsgBox
(16"Fehler""Es wurde kein Video oder Bild gefunden!")

        EndIf
    EndIf

    If 
$Msg $Button2 Then
        GUICtrlSetData
($Input1"")
    EndIf

    
Sleep(10)
Until $Msg == -
BlackHybrid is offline  
Thanks
1 User
Old 06/07/2011, 01:54   #13
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
würde noch empfehlen den html-code der seite nur einmalig zu laden.

die ganzen regexp funktionen kannste auch in einem schritt einlesen, so sparste dir noch jedes mal die regexp engine starten zu müssen.

zusätzlich kannst du noch alle funde in der listbox listen, und dann den gewünschten treffer in der listbox aussuchen und starten

das ganze könnte dann zb so aussehen:
lolkop is offline  
Thanks
1 User
Old 06/07/2011, 16:01   #14
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Quote:
Originally Posted by BlackHybrid View Post
Sorry habs mir net genau angekuggt.
Hier ist nochmal eine Alternative:
....
Ähm aber bei dir ist es ja eine Konstante adresse...Es wird ja eine mit Inetread rausgesucht aus einem Quellcode, also bringt mir das nciht viel ...
Trozdem danke
Ludder231 is offline  
Old 06/07/2011, 16:07   #15
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Vielleicht kannst du den Link mit StringBetween rausfinden. Dann hast du deinen String.
BlackHybrid is offline  
Reply


Similar Threads Similar Threads
[HOW TO]Schmiedrate für bestimmte Items ändern
03/20/2010 - Metin2 PServer Guides & Strategies - 8 Replies
Nabend, da schon wieder 2 neue Threads kamen wie man die Schmiedrate bei Items ändert sag ich hiers nochmal kurz und knapp. Ihr öffnet Navicat , verbindet auf eure Datenbank. Ihr geht auf die Tabelle Links => Player Wenn die Tabelle Player sie geöffnet hab öffnet ihr die untergeordnete Tabelle => refine_proto auf So nun sucht ihr eure ITEMID und ändert ganz rechts die letzte Spalte auf eure gewünschte Prozentchance der Schmiedmöglichkeit.
Bestimmte Sachen aus Truhe/Geschenk
12/24/2009 - Metin2 Private Server - 3 Replies
Hallo weiß jemand wo/wie ich das einstelle, dass NUR ein bestimmtes Item aus einem Geschenk/Truhe/Geldtasche kommt (5.Boni)???
[frage]pet bestimmte sachen aufsammen lassen
03/30/2009 - Flyff Private Server - 7 Replies
Hi leutz, weis nicht ob schon mal jemand gefragt hat, aber ist es möglich das das pet nur bestimmte sachen auf sammelt ??? weil hab schon paar mal in fame welche gesehen bei denen nachm aoe nur noch meatsalats und icecream liegen geblieben sind.



All times are GMT +1. The time now is 04:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.