megacarsit
Goto Top

PHP Leerzeichen in MacAdressen löschen

RegEx und preg replace

Hallo Leute!!

Ich habe eine n-zahl an Mac-Adressen, die ich über snmpwalk ausgegeben bekomme, sie sehen so aus :

Port 21, 00 60 2F 3E 4D C8 ; 01 50 2D B4 E2 F8;

Würde dort gern ':' doppelpunkte, zwischen den 2 Zeichenfolgen einfügen, so wie man es meist kennt von Mac-Adressen.

Preg_replace in Kombination mit regex...Ich weiss nicht ob ich damit auf dem richtigen Wege bin,
sonst bin ich auch mit der syntax von preg_replace etwas unsicher.
Das mein Regex-gebilde:

; (^(?i)[A-Z 0-9]{2,1} [A-Z 0-9]{2,1} [A-Z 0-9]{2,1} [A-Z 0-9]{2,1} [A-Z 0-9]{2,1} [A-Z 0-9]{2,1}) ; :


Danke schöön!

Content-Key: 96197

Url: https://administrator.de/contentid/96197

Printed on: April 24, 2024 at 20:04 o'clock

Member: nuubal
nuubal Sep 05, 2008 at 09:40:57 (UTC)
Goto Top
Hallo,

wo speicherst du die Ausgabe von snmpwalk? Ist das eine eigene Datei, in der nur vergleichbarer Inhalt drin steht, wie Port 21, 00 60 2F 3E 4D C8 ; 01 50 2D B4 E2 F8; ?

Gruß
Member: megacarsIT
megacarsIT Sep 05, 2008 at 09:50:59 (UTC)
Goto Top
Hi!
Besten Dank für Deine Antwort!

Nutze dazu keine Datei.
snmpwalk kommt aus einem Array, die im original aus so aussieht (wobei die grösse variable ist), :

21INTEGER: 21INTEGER: Hex-STRING: 00 60 2F 3E 4D C8 Hex-STRING: 01 50 2D B4 E2 F8

Die hab ich mit Hilfe in diese Form gebracht:
Port 21, 00 60 2F 3E 4D C8 ; 01 50 2D B4 E2 F8;

Und mit Hilfe von Tuts das obige Regex "entwickelt". Ist den preg_replace die richtige wahl dafür?
Member: nuubal
nuubal Sep 05, 2008 at 10:20:28 (UTC)
Goto Top
Hi,

ich denke du wärst wesentlich schneller, wenn du mit der explode() Funktion von PHP arbeitest und dir den String erst mal zerlegst mit den Delemiter ",". Danach hast du dann im Array den Eintrag, lautet in etwa so: [1] => 00 60 2F 3E 4D C8 ; 01 50 2D B4 E2 F8;
diesen könntest du nochmal zerlegen mit dem Delemiter ";". Danach ersetzt du die Leerzeichen mit der str_replace() Funktion.

Die Regex Sachen dauern einfach viel zu lange.

Gruß
Member: megacarsIT
megacarsIT Sep 07, 2008 at 22:59:55 (UTC)
Goto Top
Hey Nuubal!

Besten Dank für Deine gute Hilfe!

Jedoch komm ich bei einer so noch nicht so ganz klar, hab geschafft nun mittendrin die ":" Doppelpunkte zu setzen.
Jedoch wird bei mir auch am Anfang ein ":" gesetzt. Sieht dann so aus:
21;:00:06:5B:F6:E9:84;:00:09:3D:13:8E:34;

Hab verucht nachträglich am Punkt ';:' mit str_replace zu arbeiten.
Um aus ';:' ein ';' zu machen. Irgendwie ohne Erfolg face-sad

gruss,
MegacarsIT