Hey ihr,
da wir hier im Forum "Shell und Programmieren" sind frage ich direkt mal hier nach.
Ich habe ein PHP Script, welches eine PING Abfrage an einen Server ausführt. Insgesamt 5 Stück.
Diese Abfrage wird mit "system()" ausgeführt. (exec() hab ich auch schon probiert)
Diese Ausgabe speicher ich in $result.
Nun soll er mit preg_replace() die Zeilenumbrüche durch ";;;" ersetzen, also hab ich folgenden Code genommen:
if(SYSTEM_OS == "unix") { $result = system("ping -c ".$count." -w ".$count." -s 8 ".$host); system("killall ping");// kill all ping processes in case there are some stalled ones } else { $result = system("ping -n ".$count." ".$host); } $result = preg_replace("/\r|\n/s", ";;;", $result);
Danach habe ich mit echo die Variable $result ausgegeben und das Ergebnis ist: Keine ";;;" an Stelle der Zeilenumbrüche ☹
Er hat sie nicht ersetzt.
Komisch finde ich: In einem anderen Script funktioniert es bzw. mit normalen fest vorgegeben Zeichenketten.
Ich hab es testweise auch schon mit "/n" versucht (auf einen Rat eines Kollegen), aber das bringt erst Recht nix.
Mit exec() bewirkt das alles nur, dass ich die letzte Zeile bekomme ☹
Kann mir da jemand weiter helfen?
Mein Ziel ist es im Prinzip, jede Zeile in ein Array zu bekommen.
Vor hatte ich es mit einem "Trennzeichen" wie ";;;". Die Zeilen sollten also im Endeffekt so aussehen:
PING 1;;;PING 2;;;PING 3;;;
und diese dann mit explode() in Arrays speichern.
Liebe Grüße,
DenniX
PS: PHP5 auf einem Ubuntu Linux System. (7.10)