PHP: explode von TAB

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von nighT, 10.04.2009.

  1. nighT

    nighT Guest

    Hi Leute,
    bin gerade am rumfummeln in PHP.
    Nun, ich habe als Quelle einen String der in etwa wie folgt aussieht:
    Code:
    NAME          WERT1          WERT2          WERT3
    
    Diesen kann ich mit der PHP Funktion "explode" wie folgt trennen:
    Code:
    $array = explode(" ", $string);
    
    und die einzelnen Werte mit $array[0], $array[1], usw. ausgeben. Dabei wird die Zeichenkette ja immer bei einem Leerzeichen gekappt.
    Das Problem besteht nun aber darin, dass die Leerschritte zwischen den Werten keine Leerzeichen sondern TAB's sind.
    Wie kann ich den String nun an diesen TAB's trennen?

    mfg nighT
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. nighT

    nighT Guest

    Hi Leute,
    bin gerade am rumfummeln in PHP. Nun habe ich als Quelle einen String der in etwa wie folgt aussieht:
    Code:
    NAME          WERT1          WERT2          WERT3
    
    Nun kann ich ja mit der PHP Funktion "explode" wie folgt die Werte trennen:
    Code:
    $array = explode(" ", $string);
    
    Dabei wird die Zeichenkette bei einem Leerzeichen gekappt. Das Problem besteht nun aber darin, dass die Leerschritte zwischen den Werten keine Leerzeichen sondern TAB-Schritte sind.
    Wie kann ich den String nun an diesen TAB-Schritten trennen?

    mfg nighT

    EDIT: Wenn ich schon am Fragen bin: Kann ich die Distributionsversion (Debian Lenny, openSuse 11, usw.) per PHP abrufen?
     
  4. #3 daboss, 10.04.2009
    Zuletzt bearbeitet: 10.04.2009
    daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    PHP:
    $array explode("\t"$string);
    /edit:
    Ich wüsste nicht, wie ;)
     
  5. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
  6. nighT

    nighT Guest

    Danke!
    explode funktioniert nun super. :))
    Nur das Problem mit der Distri bleibt noch :think:

    Und :gn8: noch
     
  7. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    Es gibt da was das nennt sich "Escape-Sequenz". Steht in jedem guten PHP-Buch auf der dritten Seite wo es um Zeichenketten geht. Wenn man dann nach Escape-Sequenz googelt kommt man ganz schnell aufs Handbuch von PHP...

    http://de3.php.net/manual/de/language.types.string.php

    ...und findet raus, dass der Tabulator mit \t angegeben wird. ;)
     
  8. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    Wie ich doppelte threads liebe... ;)

    Code:
    cat /etc/redhat-release
    
    funktioniert hier prima auf Fedora. Für Debian, SuSE usw. versuch mal kognitiv zu erschließen wie es da ist. ;)
     
  9. Akendo

    Akendo 4k3nd0

    Dabei seit:
    05.02.2008
    Beiträge:
    396
    Zustimmungen:
    0
    Was mich immer wieder wundert wieso es keine $DISTRO gibt. Ich meine es gibt soviel Linux standarte, warum nicht auch einen zu festellen welche Distro genutzt wird? Auch mit nmap -A bekommt man den Kernel ausgespuckt,
     
  10. #9 Graf_Ithaka, 11.04.2009
    Graf_Ithaka

    Graf_Ithaka Routinier

    Dabei seit:
    29.01.2005
    Beiträge:
    487
    Zustimmungen:
    0
    Ort:
    Steiermark nahe Graz
    Hab die beiden mal zusammengefügt.

    @nighT: Ich nehm zwar an, dass es keine Absicht war, aber in Zukunft bitte editiern und ned neu posten ;)

    MfG,
    Graf_Ithaka
     
  11. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    /etc/$DISTRO-release, ist das nicht Standard genug? :D
     
  12. #11 daboss, 11.04.2009
    Zuletzt bearbeitet: 11.04.2009
    daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    ...

    /(spätes) Edit: Ok, eventuell kann man obiges in die system() function setzen... aber u.U.
     
  13. janis

    janis BOFH

    Dabei seit:
    02.09.2007
    Beiträge:
    179
    Zustimmungen:
    0
    Ort:
    Deutschland
    Du kannst das Betriebssystem eventuell auch über die $_SERVER Variable herausfinden:
    SERVER_SOFTWARE: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch13 mod_perl/2.0.2 Perl/v5.8.8
     
  14. Akendo

    Akendo 4k3nd0

    Dabei seit:
    05.02.2008
    Beiträge:
    396
    Zustimmungen:
    0
    Leider habe ich keinen Apache Server auf meinem Eeepc installiert dazu sind die Eintraege von /etc/$DISTRO_Release immer die Dirsto von der die Aktuelle aufbaut, z.b Ubuntu wird immer in dem Fall etch ausgeben, was aber falsch ist.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 daboss, 11.04.2009
    Zuletzt bearbeitet: 11.04.2009
    daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Hm:

    Code:
    {-alex-|-asterix-} => [~]
    (10:49:09) l /etc/ | grep -i release
    -rw-r--r--   1 root root      99 2008-10-20 14:07 lsb-release
    {-alex-|-asterix-} => [~]
    (10:49:20) cat /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=8.10
    DISTRIB_CODENAME=intrepid
    DISTRIB_DESCRIPTION="Ubuntu 8.10"
    
    /Edit: Aber ja, von der *-release-Lösung halt ich auch nicht so viel. An
    Code:
    $_SERVER['SERVER_SOFTWARE'] / $_SERVER['SERVER_SIGNATURE']
    (o.ä.) dachte ich auch schon, wird aber auch nicht "schön" und bei weitem nicht so genau, wie oben im Beispiel vom Eingangspost...
     
  17. #15 janis, 11.04.2009
    Zuletzt bearbeitet: 11.04.2009
    janis

    janis BOFH

    Dabei seit:
    02.09.2007
    Beiträge:
    179
    Zustimmungen:
    0
    Ort:
    Deutschland
    Und das?
    Sollte doch auch bei jeder Linux-Distri vorhanden sein, oder nicht?

    Edit:
    Ich finde die besagte Datei unter /etc nicht!
    Bei mir gibt es nur eine debian_version und die enthält "4.0"
     
Thema: PHP: explode von TAB
Besucher kamen mit folgenden Suchen
  1. php explode tab

    ,
  2. php explode tabulator

Die Seite wird geladen...

PHP: explode von TAB - Ähnliche Themen

  1. C Funktion ähnlich bzw. gleich PHP explode

    C Funktion ähnlich bzw. gleich PHP explode: Abend! Gibt es in C eine Standart Funktion, die ähnlich bzw. gleich der PHP Funktion explode ist? Ich hab schon versucht eine nachzuprogrammieren...