Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP Leerzeichen in MacAdressen löschen

Frage Entwicklung PHP

Mitglied: megacarsIT

megacarsIT (Level 1) - Jetzt verbinden

05.09.2008, aktualisiert 08.09.2008, 3226 Aufrufe, 4 Kommentare

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!
Mitglied: nuubal
05.09.2008 um 11:40 Uhr
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ß
Bitte warten ..
Mitglied: megacarsIT
05.09.2008 um 11:50 Uhr
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?
Bitte warten ..
Mitglied: nuubal
05.09.2008 um 12:20 Uhr
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ß
Bitte warten ..
Mitglied: megacarsIT
08.09.2008 um 00:59 Uhr
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

gruss,
MegacarsIT
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...