probleme mit preg_match

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

  • probleme mit preg_match

    hallo,
    ich habe den inhalt einer url in einen string gelesen und möchte nun nur einen bestimmten teil aus dem string haben.
    in dem fall alles, was zwischen <div class="center"> und </div> ist.

    PHP-Code:
    $url "http://www.sis-handball.de/SIS/HANDBALL/View2.aspx?LIGA=001506504501509501000000000000000004000&SPIEL=1&STYLE=/sis.css";
    $sis file_get_contents($url,"rb");
    preg_match("!<div align=\"center\">(.*?)</div>!i",$sis,$matches); 
    echo 
    $matches[1]; 
    geht aber net, bekomme keine ausgabe.
    wie könnt ich das jetzt lösen? und was wäre wenn es mehrere divs mit der class center gäbe? kann man irgendwie von zeile x - zeile y etwas ausgeben oder sowas in der richtung?

    gruß
    wolle
    Zuletzt geändert von wolle85; 22.11.2005, 13:26.

  • #2
    Bist du dir sicher das es nicht
    Code:
    <div align=\"center\">
    hiesen soll?
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

    Kommentar


    • #3
      lol hast sogar recht... aber selbst dann bekomme ich keine ausgabe
      hier mal die url: http://www.secretgamer.de/user/testarea/test.php

      also wie sich leicht erkennen lässt, passiert da gar nix. die datei hat den code, den ich oben gepostet habe
      Zuletzt geändert von wolle85; 22.11.2005, 13:32.

      Kommentar


      • #4
        Original geschrieben von wolle85
        also wie sich leicht erkennen lässt, passiert da gar nix.
        OffTopic:
        Dann solltest du als denkender Mensch doch wohl in der Lage sein ebenfalls zu erkennen, dass so ein "Beispiel" dann absolut gar nichts nützt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
          preg_match_all("!<div align=\"center\">(.*?)</div>!isU"$sis$matches); 
          http://de3.php.net/manual/de/referen....modifiers.php
          Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
          PHP Sicherheit
          PHPUnit[1-2]
          Professionelle Softwareentwicklung mit PHP 5
          Professionelle PHP 5-Programmierung

          Kommentar


          • #6
            geht leider noch immer nicht...
            da es jetzt das erste mal ist, dass ich etwas mit string zerlegen bzw regulären ausdrücken mache, bitte ich mir meine unwissenheit nachzusehen.
            trotzdem danke für die url, habe sie auch schon überflogen nur stehe ich mit meinem problem sehr unter zeitdruck, deswegen wende ich mich ja auch an euch...

            code auf oben genannter url:
            PHP-Code:
            $url "http://www.sis-handball.de/SIS/HANDBALL/View2.aspx?LIGA=001506504501509501000000000000000004000&SPIEL=1&STYLE=/sis.css";
            $sis file_get_contents($url,"rb");
            preg_match_all("!<div align=\center\">(.*?)</div>!isU"$sis$matches);
            echo 
            "[0]:$matches[0]<br>";  
            echo 
            "[1]:$matches[1]<br>"
            was mich ja sehr wunder ist, dass der code hier ( wo ich das ausfiltern zwischen <title> und </title> getestet habe)

            PHP-Code:
            $url "http://www.sis-handball.de/SIS/HANDBALL/View2.aspx?LIGA=001506504501509501000000000000000004000&SPIEL=1&STYLE=/sis.css"
            $sis file_get_contents($url,"rb"); 
            preg_match("!<title>(.*?)</title>!i",$sis,$matches);  
            echo 
            $matches[1]; 
            funktioniert. sobald jedoch was anderes als title gefiltert werden soll, geht gar nix mehr.


            gruß
            wolle
            Zuletzt geändert von wolle85; 22.11.2005, 14:00.

            Kommentar


            • #7
              Kommisch, ich habe zwei Treffer erhalten?
              Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
              PHP Sicherheit
              PHPUnit[1-2]
              Professionelle Softwareentwicklung mit PHP 5
              Professionelle PHP 5-Programmierung

              Kommentar


              • #8
                hm unterschiedliche php versionen?
                http://www.secretgamer.de/user/testarea/phpinfo.php

                Kommentar


                • #9
                  Daran sollte es nicht liegen. Mir ist aufgefallen das zu ein Gensäfüßchen vergessen hast.

                  PHP-Code:
                  preg_match_all("!<div align=center\">(.*?)</div>!isU"$sis$matches); //align=center"

                  preg_match_all("!<div align=\"center\">(.*?)</div>!isU"$sis$matches); //align="center" 
                  Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
                  PHP Sicherheit
                  PHPUnit[1-2]
                  Professionelle Softwareentwicklung mit PHP 5
                  Professionelle PHP 5-Programmierung

                  Kommentar


                  • #10
                    oh man wie dämlich... ok geht nun...
                    so ich benutze nun preg_replace() um mehrere sachen rauszulöschen bzw. durch etwas anderes zu ersetzen.
                    funktioniert auch sehr gut.
                    das einzige was micht stört ist, wenn ich den string durchsuchen lass und er mir ein warning zurückgibt wenn er keine übereinstimmung gefunden hat

                    Code:
                    Warning: Compilation failed: nothing to repeat at offset 0 in /XXXXXX/modules/mann_tabelle.php on line 57
                    da das script universell auf mehrere verschiedene urls eingesetzt werden soll bei der immer ein anderer inhalt vorhanden ist, kann ich das natürlich nicht so einfach anpassen.
                    ich arbeite in dem fall mit einem array und filter eben verschiedene sachen raus, die bei einer anderen url dann evtl. nicht mehr vorkommen.
                    was kann ich tun, damit er mir einfach keine rückmeldung gibt?
                    Zuletzt geändert von wolle85; 23.11.2005, 10:49.

                    Kommentar

                    Lädt...
                    X