tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
134
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sassar Sassar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    16
    Hi Leute,

    und zwar habe ich folgendes Problem:
    ich möchte eine Datei auslesen, welche viele Zeilen hat. Dabei möchte ich jedoch nur die Zeilen ausgeben lassen, welche nicht mit "//" ausgeklammert wurden. Das Problem dabei ist. Das wenn er eine Zeile findet er alle Zeilen nicht mehr anzeigt. Hier ist der ausschnitt aus dem Programmcode vielleicht kann ja wer helfen =)

    PHP-Code:
    $inhalt file($pfad);
    for(
    $y=0;$y<count($inhalt);$y++)
    {
     
    $zeile $inhalt[$y];
     if(
    preg_match("//"$inhalt[$y])==0)
     {
      echo 
    'zeile '.$y.': '$inhalt[$y].'<br>';
     }

     

  2. #2
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Hi,

    hab zwei Fehler gefunden:

    1. Die Zeile wird nur angezeigt, wenn das RegEx Pattern nicht zutrifft.
    2. Der RegEx Pattern ist sehr fragwürdig. Das erste Zeichen im Pattern wird als Begrenzer interpretiert.

    Dein Pattern müßte alle hinter dem doppelten Slash abschneiden. Wenn die Zeile dann leer ist, brauch sie nicht ausgegeben werden.

    Als Code schaut das so aus:
    Code php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    function printLine($lineNumber, $line)
    {
        printf("Zeile %u: %s\n", $lineNumber, rtrim($line, "\n"));
    }
     
    $content = file($path);
    foreach ($content as $key => $line) {
        $slashPosition = strpos($line, '//');
        if ($slashPosition === false) {
            printLine($key + 1, $line);
            continue;
        }
        
        if ($slashPosition === 0) {
            continue;
        }
        
        $cleanLine = substr($line, 0, $slashPosition);
        printLine($key + 1, $cleanLine);
    }

    Dieser Code zeigt entweder die komplette Zeile an, überspringt sie oder zeigt sie bis zum "Kommentar" an.

    Gruß Kyoya Stefan
     
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

Ähnliche Themen

  1. Problem mit CSS File
    Von akrenn im Forum CSS
    Antworten: 1
    Letzter Beitrag: 20.12.10, 13:50
  2. Problem mit jar-file
    Von andreas_gierisch im Forum Java
    Antworten: 4
    Letzter Beitrag: 13.06.06, 12:59
  3. Problem mit UDP File Transfer
    Von conaito im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 19.01.05, 00:18
  4. Problem mit jar file
    Von Serethos im Forum Java
    Antworten: 1
    Letzter Beitrag: 05.11.04, 18:11
  5. problem mit txt file
    Von inkwi im Forum PHP
    Antworten: 7
    Letzter Beitrag: 10.06.03, 16:41