1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
245
245
EMPFEHLEN
-
Hallihallo liebe Leutchen,
ich melde mich mal wieder aus dem Ruhrpott mit einer neuen Frage..
!..
Ich habe derzeit vor meine Teamspeak 3 Server per PHP zu Erstellen.
Alles funktioniert soweit ohne Probleme, jedoch würde ich gerne die Ausgabe anpassen, die nach Erstellung des Servers vom Telnet Server übergeben wird.
Beispiel Ausgabe:
sid=2 token=JWzbg0XauLeIweBH3JAg+pa8B92lR8jXgUvTJvnS virtualserver_port=9988
Jetzt möchte ich jedoch 3 Variable daraus entstehen lassen..
Erste Variable soll der Wert nach SID= sein (2)
Zweite Variable der Wert nach token= (JWzbg0XauLeIweBH3JAg+pa8B92lR8jXgUvTJvnS)
Dritte Variable der Wert nach virtualserver_port0 (9988)
Wie kann ich sowas realisieren? Habe mit explode etc. etwas experimentiert aber wirklich funktioniert hat da gar nichts.
Hoffe auf eure Hilfe
Lebe und denke nicht an Morgen.
-
Grüße,
ich hab da mal was vorbereitet
.
Code-Kritik bezüglich der Übersicht oder anderen Dingen ist gerne erwünscht.
Hier also der Code (ein bisschen wirr aber er funktioniert - getestet):
hab mir dazu mal deine angegebene Zeichenkette geschnapptPHP-Code:<?php
$Zeichenkette = "sid=2 token=JWzbg0XauLeIweBH3JAg+pa8B92lR8jXgUvTJvnS virtualserver_port=9988";
//Zeichenkette zerlegen -> nach sid=, token=, virtualserver_port=
// --> deren stellen im String rausfinden
////////////////1.Variable
//---> "="
$V_eins = strpos($Zeichenkette, "=");
//-> wann kommt token -> dazwischenliegende Werte = Variable 1
$tok = strpos($Zeichenkette, "token");
//-> Variable_1 festlegen
$Länge = $tok - $V_eins-1;
$Variable_1 = substr($Zeichenkette, $V_eins+1, $Länge);
////////////////2.Variable
//wann kommt das 2. Mal "=" vor
//-> wir wissen,dass das erste immer an 4. Stelle vorkommt
$V_zwei = strpos($Zeichenkette, "=", 4);
//wann kommt das Leerzeichen vor virtualserver_port
$Leerzeichen = strpos($Zeichenkette, " ", $V_zwei);
//Zeichen zwischen dem 2. "=" und dem Leerzeichen-1 ist die 2. Variable
$Länge = $Leerzeichen - $V_zwei - 1;
$Variable_2 = substr($Zeichenkette, $V_zwei+1, $Länge);
////////////////3.Variable
//virtualserver_port= hat 19 Zeichen -> Leerzeichen+20 plus Länge von 4 für substr ergibt die 3. Variable
$Variable_3 = substr($Zeichenkette, $Leerzeichen+20, 4);
echo"Ausgabe::<br><br>V1=$Variable_1<br>V2=$Variable_2<br>V3=$Variable_3";
?>
.
P.S. bastle derzeit noch an einer eleganteren Lösung -> Priorität hatte erstmal die Funktionalität
Mfg, Alex
“The function of good software is to make the complex appear to be simple.” (Grady Booch)
“First, solve the problem. Then, write the code.” (John Johnson)
-
04.09.10 18:33 #3
Elegantere Lösung:
PHP-Code:$str = 'sid=2 token=JWzbg0XauLeIweBH3JAg+pa8B92lR8jXgUvTJvnS virtualserver_port=9988';
$pattern = '/sid=(?<sid>\d+) token=(?<token>.+) virtualserver_port=(?<port>\d+)/';
preg_match($pattern, $str, $match);
echo $match['sid'].' - '.$match['token'].' - '.$match['port'];
-
durchaus die wesentlich elegantere Lösung.
@timestamp: wäre es möglich mir die 2. Zeile deines Codes ein wenig zu erklären?
Danke und GrußMfg, Alex
“The function of good software is to make the complex appear to be simple.” (Grady Booch)
“First, solve the problem. Then, write the code.” (John Johnson)
-
04.09.10 22:06 #5
Stichwort reguläre Ausdrücke (google findet).
\d+ steht für eine beliebige Anzahl Zahlen, mindestens eine.
.+ steht für eine beliebige Anzahl jeglicher Zeichen, mindestens eins
(...) gruppiert ein Ergebnis
(?<index>) gibt einen assoziativen array eintrag.
Ähnliche Themen
-
Telnet Ausgabe in Datei speichern
Von Kilrathy im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 0Letzter Beitrag: 11.12.06, 09:44 -
[php] Externe Bildergrösse auslesen und ausgabe anpassen
Von vquicksilver im Forum PHPAntworten: 1Letzter Beitrag: 03.04.05, 10:58 -
trotz Backticks macht telnet Ausgabe nach stdout
Von Gottox im Forum Linux & UnixAntworten: 3Letzter Beitrag: 12.01.04, 20:48 -
telnet
Von fischli im Forum Linux & UnixAntworten: 2Letzter Beitrag: 16.08.03, 16:55 -
Telnet
Von fungo im Forum NetzwerkeAntworten: 3Letzter Beitrag: 23.08.02, 23:58





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen