probleme mit preg_match

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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

    Comment


    • #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
      Last edited by wolle85; 22-11-2005, 13:32.

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #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
            Last edited by wolle85; 22-11-2005, 14:00.

            Comment


            • #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

              Comment


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

                Comment


                • #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

                  Comment


                  • #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?
                    Last edited by wolle85; 23-11-2005, 10:49.

                    Comment

                    Working...
                    X