1. #1

    Registriert seit
    19.11.2011
    Beiträge
    2.128
    Thanked 1.936 Times in 1.180 Posts

    Standard Kommentare prüfen

    Hallo,

    ich habe eine Textdatei mit Kommentaren und möchte jetzt gerne beim Hinzufügen eines Kommentars prüfen ob das Kommentar nicht bereits existiert.

    Diese Textdatei ist immer gleich strukturiert und zwar so:

    [Datum] Kommentar
    [Datum] Kommentar
    [Datum] Kommentar

    Es sind ca. 5000 Zeilen mit Durchschnittlich 85 Zeichen.

    Dafür muss ich jetzt natürlich das Datum wegmachen(um richtig vergleichen zu können), dafür hab ich mir ein Regexpattern rausgesucht.

    Leider hänge ich(ich kann kein Php )



    PHP-Code:
    <?php
    ini_set 
    ('display_errors' 1);

    $buffer file("Sentences.txt"FILE_IGNORE_NEW_LINES);
    preg_replace("(\d{2,2}.\d{2,2}.\d{4,4})"""$buffer)
    echo 
    $buffer;

    // Hier wird später hinzugefügt

    ?>

    Meine Fragen:

    - Ist $buffer überhaupt so okay oder gibts da andere Möglichkeiten?
    Ich meine wir reden hier von ca. 170.000 Zeichen
    - Wie muss ich vorgehen? Schleife?
    - Ich möchte nicht unbedingt fertigen Code, Tipps sind für mich auch schon hilfreich!
    Geändert von !lkay (12.07.2012 um 20:48 Uhr)

  2. #2
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 753 Times in 363 Posts

    Standard AW: Kommentare prüfen

    Wenn das Datum immer in dem Format ist und auch 01.12.2001 anstatt 1.12.2001 schreibt, kannst du das ganze mit str_split() ( PHP: str_split - Manual ) lösen, in dem du jede Zeile einfach nach den Zeichen (8 Zahlen, 2 Punkte, 2 Klammern => 12) spaltest. Dann brauchst auch kein nerviges RegEx.

    Anstatt file() würde ich die aber fopen() empfehlen.
    Geändert von Comu (12.07.2012 um 20:50 Uhr)

  3. #3

    Registriert seit
    19.11.2011
    Beiträge
    2.128
    Thanked 1.936 Times in 1.180 Posts

    Standard AW: Kommentare prüfen

    Und wie ist es mit if in array?

    Kann ich nicht im ganzen Array das Datum entfernen und dann mit if!in_array prüfen ?

  4. #4
    Gelöschter Benutzer
    Gast

    Standard AW: Kommentare prüfen

    Hey.

    Ich würde es so machen:

    Als erstes die Datei mit file_get_contents() laden und jedes Kommentar in einen Array packen. Danach nochmal durch jedes Kommentar gehen und mit in_array() überprüfen, ob das Kommentar schon existiert.

    Meine hallo.txt sieht einfach mal so aus:

    Code:
    [17.02.2012] Hey, wie gehts?
    [19.02.2012] Gut und dir?
    [19.02.2012] Hey, wie gehts?
    PHP-Code:
    <?php
    $data 
    file_get_contents('hallo.txt');
    $sentences explode("\r\n"$data);

    $senteces_array = array();

    foreach(
    $sentences as $value) {
      
    $value preg_replace("(\d{2,2}.\d{2,2}.\d{4,4})"""$value);
      
    array_push($senteces_array$value);
    }

    //Alle Kommentare sind nun im Array $stences_array
    //Dupliate löschen

    reset($senteces_array);

    while (list(
    $key$value) = each($senteces_array)) {
        if(
    in_array($value$senteces_array)) {
            unset(
    $senteces_array[$key]);
        }
    }
    ?>
    Kann's leider momentan nicht testen. ):

Ähnliche Themen

  1. Website: Rechtschreibung prüfen
    Von Kaspersky im Forum Software
    Antworten: 7
    Letzter Beitrag: 13.08.2012, 22:11
  2. [Facebook] Kommentare werden nicht angezeigt
    Von !lkay im Forum Internet und Technik
    Antworten: 9
    Letzter Beitrag: 10.06.2012, 22:23
  3. [Facebook] Wie Kommentare deaktivieren?
    Von Headstyle im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 05.03.2012, 16:01
  4. Auf eine Zahl prüfen
    Von KScript im Forum Hochsprachen
    Antworten: 8
    Letzter Beitrag: 14.02.2011, 20:14
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.