StringRegExp - bestimmte Sachen ändern

06/07/2011 17:11 Ludder231#16
Quote:
Originally Posted by BlackHybrid View Post
Vielleicht kannst du den Link mit StringBetween rausfinden. Dann hast du deinen String.
Hmm wie denn? :D

PHP Code:
  $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 = _stringbetween($string, "com/", "")
        
$string4 = StringReplace($string4, "embed/", "watch?v=")
        
$string4 = StringReplace($string4, "?rel=0", " ") 
So gehts zmd nicht -.-
Für mich siehts aber richtig aus oO
06/07/2011 17:34 BlackHybrid#17
Poste doch einfach mal einen kleinen Ausschnitt aus dem Quelltext, von der Position, wo der Link steht.
06/07/2011 17:41 Ludder231#18
Quote:
Originally Posted by BlackHybrid View Post
Poste doch einfach mal einen kleinen Ausschnitt aus dem Quelltext, von der Position, wo der Link steht.

Also das ist das was mir schwierigkeiten macht:
PHP Code:
$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 = _stringbetween($string, "com/", "?rel=0")
        
$string4 = StringReplace($string4, "embed/", "watch?v=")
        
$string4 = StringReplace($string4, "?rel=0", " ")

        If 
IsArray($String) Then ;youtube
            GUICtrlSetData
($List1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $String[0])
            
ShellExecute("http://www.youtube.com/" &$string4) 
Quelltext:
Code:
src="http://www.youtube.com/embed/lbeAhoK5FvY?rel=0"
Das ist ein beispiel Link, er ist also variabel und nicht immer gleich....
06/07/2011 18:50 BlackHybrid#19
Wie gesagt. Wenn du es so wie ich machen willst benutz einfach _StringBetween und lese den Link aus und nehm den Teil von mir. Sollte eigentlichklappen. Ich selbst kenne mich nicht so mit StringRegExp aus.
06/07/2011 19:45 Ludder231#20
Quote:
Originally Posted by BlackHybrid View Post
Wie gesagt. Wenn du es so wie ich machen willst benutz einfach _StringBetween und lese den Link aus und nehm den Teil von mir. Sollte eigentlichklappen. Ich selbst kenne mich nicht so mit StringRegExp aus.
Es ist nur so ich bekomm nen error bei:
PHP Code:
$string = $string[1]&"watch?v="&$string[2] 
06/07/2011 22:48 lolkop#21
Quote:
Originally Posted by BlackHybrid View Post
Wie gesagt. Wenn du es so wie ich machen willst benutz einfach _StringBetween und lese den Link aus und nehm den Teil von mir. Sollte eigentlichklappen. Ich selbst kenne mich nicht so mit StringRegExp aus.
_StringBetween ist aufgebaut aus dem regexp befehl mit besonderen eigenschaften.

wie gesagt es wäre überflüssig die regexp engine so oft zu starten, genauso wie es unsinnig ist da 4 mal hintereinander den quelltext einer seite zu laden.

auch ist das nutzen zu vieler "unnützer" variablen immer zu vermeiden.

sobald du eine variable überprüft hast, wird sie sowieso nicht mehr verwendet und kann für neue werte wieder benutzt werden.
das schon den speicher gerade im falle von autoit doch sehr =)

auch wenn das bei kleinen programmen so nicht auffällt, sollte man es sich doch für die zukunft gleich richtig angewöhnen =)
06/08/2011 13:24 Ludder231#22
Quote:
Originally Posted by lolkop View Post
_StringBetween ist aufgebaut aus dem regexp befehl mit besonderen eigenschaften.

wie gesagt es wäre überflüssig die regexp engine so oft zu starten, genauso wie es unsinnig ist da 4 mal hintereinander den quelltext einer seite zu laden.

auch ist das nutzen zu vieler "unnützer" variablen immer zu vermeiden.

sobald du eine variable überprüft hast, wird sie sowieso nicht mehr verwendet und kann für neue werte wieder benutzt werden.
das schon den speicher gerade im falle von autoit doch sehr =)

auch wenn das bei kleinen programmen so nicht auffällt, sollte man es sich doch für die zukunft gleich richtig angewöhnen =)

Joa, werde es auch verbessern ,war bloß nur so ne idee, hab mir eh gedacht das es nicht funktioniert :)
06/08/2011 14:15 lolkop#23
Quote:
Originally Posted by Ludder231 View Post
Joa, werde es auch verbessern ,war bloß nur so ne idee, hab mir eh gedacht das es nicht funktioniert :)
die idee an sich war schon gut =)
freue mich persöhnlich immer wenn leute sich gerade bei parser problemen für die extra hierfür entwickelte regexp engine entscheiden, anstatt auf udfs die meist sowieso hierrauf basieren zurück zu greifen.

dieses forum ist ja soweit ich weis auch mehr dazu gedacht, usern mit problemen hinweise zu geben, mit denen sie eventuell zukünftig ihre programme verbessern könnten.
also ist es auch nicht weiter problematisch wenn mal etwas, was man sich vorstellt, nicht direkt funktioniert =)
06/08/2011 15:13 Ludder231#24
Quote:
Originally Posted by lolkop View Post
die idee an sich war schon gut =)
freue mich persöhnlich immer wenn leute sich gerade bei parser problemen für die extra hierfür entwickelte regexp engine entscheiden, anstatt auf udfs die meist sowieso hierrauf basieren zurück zu greifen.

dieses forum ist ja soweit ich weis auch mehr dazu gedacht, usern mit problemen hinweise zu geben, mit denen sie eventuell zukünftig ihre programme verbessern könnten.
also ist es auch nicht weiter problematisch wenn mal etwas, was man sich vorstellt, nicht direkt funktioniert =)
Wohl wahr :)