Auslesen von tief verschachteltem Tag

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

  • Auslesen von tief verschachteltem Tag

    Hallo zusammen,

    ich stehe vor einem (für mich) großen Problem, und hoffe, dass jemand mir helfen kann.

    Habe eine (bzw. einen Riesenhaufen) HTML Seite, nicht besonders groß (130 KB). Darin sind Informationen enthalten, die ich automatisiert (per PHP-Skript) da rausholen möchte.

    In dieser HTML-Datei gibt es eine Passage, die wie folgt aussieht:

    Code:
    <a class="ref-extlink" href="redirect3.cgi?list_uids=12345[/url]">Click Here</a>
    ...
    <a class="ref-extlink" href="redirect3.cgi?list_uids=23456[/url]">Click Here</a>
    ...
    <a class="ref-extlink" href="redirect3.cgi?list_uids=34567[/url]">Click Here</a>
    ...
    Wie komme ich nun an diese "list_uids=12345"-Einträge ran?! Diese Tags sind absolut EINDEUTIG auf der Seite, das ist doch von großem Vorteil, oder? Wäre genial, wenn mir hier jemand einen Tipp aus der Praxis geben könnte!

    Vielen Dank im Voraus und Grüße,
    Chris

  • #2
    preg_match_all + treffendes Suchmuster.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      oder vllt. substr()
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #4
        http://regexp-evaluator.de/evaluator...c33a/#ergebnis

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Wow!! :-) Ich bin total begeistert, diese regulären Ausdrücke sind ja der helle Wahnsinn!!

          Vielen Dank an alle, aber v.a. an jahlives für diesen super Link. Habe das alles gut nachvollziehen können und habe mir dann den PHP-Code angeschaut. Diesen habe ich dann einfach mal testweise bei mir lokal ausprobiert, aber leider funzt es nicht (mehr). Da steht immer, dass der Ausdruck in dem Text nicht gefunden wurde. Aber auf deren Website funktioniert es doch mit DIESEM Code, oder?! Hilfe!

          Hier der Code:
          PHP-Code:
          <? php
          // Text, der durchsucht werden soll
          $subject = '<a class=\"ref-extlink\"href=\"redirect3.cgi?list_uids=12345\">Click Here</a>
          ...
          <a class=\"ref-extlink\"href=\"redirect3.cgi?list_uids=23456\">Click Here</a>
          ...
          <a class=\"ref-extlink\"href=\"redirect3.cgi?list_uids=34567\">Click Here</a>';

          // Der Reguläre Ausdruck
          $pattern = '/<a class="ref-extlink"href="redirect3.cgi\?([^"]*)/is';

          // RegExp auswerten
          $result =preg_match_all($pattern, $subject,$subpattern);

          // Ergebnis ausgeben
          echo '<p>Der verwendete Reguläre Ausdruck trifft auf den zu durchsuchenden Text '.
             (($result) ? $result.' mal ' : 'nicht ').'zu.</p>';

          // Unterausdrücke ausgeben
          echo '<pre>'.print_r($subpattern, TRUE).'</pre>';
          ?>
          Wäre super, wenn mir jemand helfen könnte!

          Viele Grüße,
          squirrel

          Kommentar


          • #6
            reguläre ausdrücke bitte ohne php/code tags posten.

            Kommentar


            • #7
              $subject mal bitte mit " statt ' ...

              Kommentar


              • #8
                OMG...

                ..vllt hat jemand einen konstruktiven Beitrag? ;-)

                Kommentar


                • #9
                  Nur weil du es nicht verstanden hast war das nicht destruktiv - Wenn du das $subject in einfache Anführungszeichen einschließt und die doppelten trotzdem escapest ist das natürlich falsch.

                  Und die PHP-Codes haben leider so an sich, Dinge wie Backslashes zu verschlucken.

                  Also, nicht meckern, sondern machen
                  ich glaube

                  Kommentar


                  • #10
                    Original geschrieben von squirrelcgn
                    OMG...

                    ..vllt hat jemand einen konstruktiven Beitrag? ;-)
                    War doch konstruktiv?

                    String in ' einschliessen und " escapen ?
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #11
                      PHP-Code:
                      $result =preg_match_all($patternstripslashes($subject),$subpattern); 
                      Probiert ?
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Original geschrieben von squirrelcgn
                        OMG...

                        ..vllt hat jemand einen konstruktiven Beitrag? ;-)
                        tausche konstruktive antworten gegen verständnis dieser.

                        Kommentar


                        • #13
                          Sorry, für meine etwas harsche Bemerkung!! Ich bin blutiger Anfänger was PHP angeht und solche Einzeiler wie von onemorenerd klingen für mich irgendwie so wie von ganz oben herab - da musste ich kontern, sorry.



                          Danke jahlives, jetzt klappt es! :-)



                          P.S. pennizillin, auch dir danke ich für deinen extrem wertvollen Beitrag!
                          Zuletzt geändert von squirrelcgn; 15.08.2007, 13:09.

                          Kommentar


                          • #14
                            Original geschrieben von squirrelcgn
                            OMG...

                            ..vllt hat jemand einen konstruktiven Beitrag? ;-)
                            Ist einfach: Wähle eine der 12 lösungsvorschläge die bereits gepostet wurden.
                            The Human Mirror - Mein Blog!
                            www.sonicsense.de - The future of music!

                            Kommentar

                            Lädt...
                            X