ilch Forum » Allgemein » HTML, PHP, SQL,... » Datei auslesen-Zeile zerlegen

Geschlossen
  1. #1
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Guten Morgen zusammen,

    ich habe im Netz eine Text-Datei gefunden, in der Unicodes und Beschreibung zu Emojis stehen.
    Der Aufbau:
    # group: People & Body

    # subgroup: hand-fingers-open
    1F91A 1F3FE ; fully-qualified # ???? E3.0 raised back of hand: medium-dark skin tone
    1F91A 1F3FF ; fully-qualified # ???? E3.0 raised back of hand: dark skin tone
    1F590 FE0F ; fully-qualified # ??? E0.7 hand with fingers splayed
    1F590 ; unqualified # ?? E0.7 hand with fingers splayed
    1F590 1F3FB ; fully-qualified # ???? E1.0 hand with fingers splayed: light skin tone
    1F590 1F3FC ; fully-qualified # ???? E1.0 hand with fingers splayed: medium-light skin tone

    # subgroup: person-role
    1F468 1F3FD 200D 2696 FE0F ; fully-qualified # ??????? E4.0 man judge: medium skin tone

    Ich bräuchte mal bitte Hilfe dabei, eine Zeile sinnvoll zu splitten, um an die Informationen zu gelangen.
    Anhand der ersten Zeile, ich brauche den Code (1F91A 1F3FE) und die Beschreibung (raised back of hand: medium-dark skin tone ).
    Die Zeilen können unterschiedlich aussehen, wie man an der letzten erkennen kann, also mehr als 1 oder 2 Unicode-Blöcke.

    Ich danke schonmal für die Hilfe...
    Grüße Outi


    verwendete ilch Version: 1.1 P
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Grüß dich Outi,
    Ganz einfach mit explode

    $emotes  = "1F91A 1F3FE ; fully-qualified # ???? E3.0 raised back of hand: medium-dark skin tone";
    $teile = explode(";", $emotes);
    echo $teile[0]; // Code
    echo $teile[1]; // Beschreibung


    Wenn du diesen "fully-qualified # ???? E3.0" Teil nicht brauchst dann musst du den Einfach aus der Txt datei entfernen oder einfach weitere explodes machen und diese dann nicht ausgeben lassen lächeln


    Natürlich musst du dir das script anpassen damit dieses dann jede Zeile aus der txt file ließt z.b
    ist nur ein Beispiel :
    <?php
    $file = fopen("emotes.txt", "r");
    $emote = array();
    
    while (!feof($file)) {
       $emote[] = fgets($file);
    }
    
    var_dump($emote);
    ?>



    Zuletzt modifiziert von Nex4T am 26.03.2021 - 10:17:21
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hi Nex4T,

    danke für Deine schnelle Antwort. Für den vorderen Teil (Codeteil) verstehe ich es, aber für die Beschreibung bräuchte ich nicht den kompletten Teil hinter dem ; sondern das hinter E3.0
    Danke zwinker
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Wie gesagt entweder Hand anlegen also Suche & Entfernen geht ganz schnell oder weitere explodes / preg_replace dran hängen zwinker


    Zuletzt modifiziert von Nex4T am 26.03.2021 - 10:30:44
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    OK alles klar...danke Dir Yes
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Soo Finally lachen
    <?php
    function multiexplode ($delimiters,$string) {
    
        $ready = str_replace($delimiters, $delimiters[0], $string);
        $launch = explode($delimiters[0], $ready);
        return  $launch;
    }
    
    $emotes  = "1F91A 1F3FE ; fully-qualified # ???? E3.0 raised back of hand: medium-dark skin tone";
    $teile = explode(";", $emotes);
    echo $teile[0]; // Code
    $desc = $teile[1]; // Desc
    
    $newDesc1 = multiexplode(
        array("fully-qualified # ???? E3.0",
            "fully-qualified # ??? E0.7",
            "fully-qualified # ???? E1.0",
            "fully-qualified # ??????? E4.0"),$desc);
    echo $newDesc1[1]; // new desc
    
    ?>
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten