hml datei filtern mit Reguläre Ausdrücke

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

  • hml datei filtern mit Reguläre Ausdrücke

    Ich möchte eine eine HTML-Datei auslesen und ein bestimmten Teil finden.

    Die 258770 möchte ich aus der test.html rausgefiltert haben, aber leider kommt eine 6-stellig Zahl mehrmals vor. Also würd ich diesen ganzen <td>-Block raus filtern und dann danach die Zahl.

    Leider bekomm ich es nicht hin den ganzen <td>-Block rauszufiltern.


    [COLOR=darkred]test.html[/COLOR]
    PHP-Code:
    <a href="www.blbla.de" id=123456>




            <
    td class="c6indikRow_c2 brot">            
                            
                
                        
    258770 
                    
                
            
    </td>
            <
    td class="c6indikRow_c3">


            <
    td class="c6indikRow_c2 brot">            
                            
                
                        
    14,%
                    
                
            </
    td>
            <
    td class="c6indikRow_c3"
    [COLOR=darkred]PHP-Datei zum auslesen:l[/COLOR]
    PHP-Code:
    <?php
    $filename 
    "test.html";
    $file fopen ($filename"r");
    $contents fread ($filefilesize ($filename));

    if (
    trim($contents) == "") {
        echo 
    "keine daten vorhanden \n\n";
        } else { 
                
    //if( ereg("[0-9]{6}", $contents, $regs) )
                
    if( preg_match("/[0-9]{6}.{10}/m"$contents$regs) )
                    {
                     
    print_r($regs);
                    }

                }
            
    fclose($file);
    ?>
    Zuletzt geändert von bendim; 09.05.2008, 17:43.

  • #2
    Wie stellst du dir denn das Filtern des Blocks vor?

    Ich würde übrigens ggf. schonmal file_get_contents benutzen...
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      es würde mir auch reichen wenn ich eine 6 stellige zahl mit einem leerzeichen dahinter filtere. aber das funktioniert irgendwie nicht

      [0-9]{6}[:space:]

      Kommentar


      • #4
        Funktioniert nicht, gibts nicht..

        Ausgabe?

        Kommentar


        • #5
          wie was funktioniert nicht? man wird doch wohl mit regulären Ausdrücken 6 Zahlen und danach ein Leerzeichen abfragen könnnen.

          Ich könnte doch auch ab <td ... bis /td> mit einer funktion rausfiltern und dann mit den regulären Ausdrücken und ereg die 6-Stellige Zahl herausfiltern.

          Arbeitet das preg_match oder ereg Zeilenweise? Wenn ich den Inhalt in die Variable als String lade is doch alles hintereinander oder?

          Kommentar


          • #6
            Hier fehlt es offenbar an nötigem Wissen:
            http://de3.php.net/manual/de/regexp.reference.php
            Kleiner Tipp: Ungreedy-Modifier und Multiline-Modifier

            Und ich würde nur die preg_* Funktionen verwenden^^

            Kommentar


            • #7
              danke für die super hilfe

              Kommentar

              Lädt...
              X