Reg Ex mit preg_

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Reg Ex mit preg_

    Hallo,

    ich habe eine vorgegebene Reg Ex in Perl und möchte diese genau 1 zu 1 in PHP anwenden. Vielleicht kann mir jemand helfen wie ich es in PHP schreiben muss.


    if ( $line =~ /^"([^"]+)" ([^"\(]+) "([^"]+)"(.*)$/ ) {

    $address = $1;
    $name = $2;
    $object = $3;
    $properties = $4;

    ........ }

    Danke und GruZZ GriZZ

  • #2
    PHP-Code:
    if (preg_match('/^"([^"]+)" ([^"\(]+) "([^"]+)"(.*)$/'$line$matches))
    {
      list(
    $dummy$address$name$object$properties) = $matches;
      ...
    }

    bzw.

    if (
    preg_match('/^"([^"]+)" ([^"\(]+) "([^"]+)"(.*)$/'$line$matches))
    {
      
    $address $matches[1];
      
    $name $matches[2];
      
    $object $matches[3];
      
    $properties $matches[4];
      ...

    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      super, danke für die schnelle antwort...

      hat erfolgreich geklappt....hatte das problem beim maskieren und dann hab ich es wohl verhauen....

      wo ich gerade dabei bin... :-)



      wie kann ich einen stream machen ? so dass dieser die neuen zeilen die geschrieben werden gleich anzeigt?

      ist für eine stats-auswertung gedacht- am besten mit portangabe...

      vielleicht kannst du mir dabei auch etwas helfen...

      gruzz grizz

      Kommentar


      • #4
        http://www.php-resource.de/forum/sho...threadid=13658
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Hallo,

          erstmal danke, den Beitrag kenn ich schon.

          Ok, ich sollte es anders erklären... Ich habe eine Appl., die ein Text-Logfile schreibt. nach jedem bestimmten Event in der Appl. sind dann bestimmte Einträge dem Log zugefügt. Ich möchte mir in Realtime das Logging aber über das Web ansehen.
          Ich habe die Datei geöffnet und mir in einer While-Schleife die Zeilen ausgegeben. Das flush() steht am ende der Schleife.

          PHP-Code:
          while (list ($line_num$line) = each ($fp)) {
               ...
               ...
               ...
               
          flush();
               
          usleep(10000);

          wenn aber die Appl. nun 3 oder mehr sekunden kein Logging macht, dann muss ich das PHP reloaden... Habe versucht mit usleep() den Prozess offen zu halten, das auch klappt, aber da die Zeitabstände variieren, wollte ich das mit einem Stream realisieren...

          Hast Du eine Idee ?

          GruZZ GriZZ
          Zuletzt geändert von GriZZ; 05.12.2002, 19:23.

          Kommentar

          Lädt...
          X