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, 3233 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 ..
Ähnliche Inhalte
Microsoft Office
Outlook Automation Mail-Element löschen (1)

Frage von TestsubjektX zum Thema Microsoft Office ...

Exchange Server
gelöst Eine Raumliste in der Powershell löschen (2)

Frage von Gnrdolf zum Thema Exchange Server ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Webbrowser
Internet Explorer schliesst direkt bei Start (10)

Frage von gabeBU zum Thema Webbrowser ...