Reguläre Ausdrücke

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

  • Reguläre Ausdrücke

    Hallo,

    ich möchte bestimmte Informationen aus einem Quelltext auslesen, habe auch schon des öfteren mit regulären Ausdrücken rumexperimentiert, aber für das folgende Beispiel krieg ich nichts hin..

    Aus folgendem Source möchte ich nur die ID herausfiltern, die immer aus 8 Zeichen besteht, Zahlen als auch Buchstaben.

    PHP-Code:
    <td width="200" bgcolor="#DFE6ED">ID:</td>
    <
    td width="380" bgcolor="#F5F4F3">659e6ebd
    <span class="Text">(15.07.05)</span>
    </
    td
    Das ist nur ein kleiner Auszug, wie aber kann ich das machen? Früher hatte ich immer nach umliegenden "td" Klassen suchen lassen, oder nach Namen, so wie hier zb ID. (von "ID:" bis "<span") und den Rest per preg_replace rausgefilert, um so an die Ergebnisse zu kommen.
    Erscheint mir jedoch nicht grade Zweckmäßig, wie aber kann ich das sonst bewerkstelligen?


    regards
    Zine

  • #2
    also so funktionierts:

    PHP-Code:
    $text '<td width="200" bgcolor="#DFE6ED">ID:</td>
    <td width="380" bgcolor="#F5F4F3">659e6ebd
    <span class="Text">(15.07.05)</span>
    </td>'
    ;

    if (
    preg_match('/ID:\s*<\/td>\s*<td.*>\s*([0-9a-f]{8})[^0-9a-f]/is'$text$hits)) {
        
    print_r($hits);

    allerdings verwende ich da auch die td's. ne bessere lösung fällt mir aber nicht nicht ein. das hier würde zwar auch funktionieren ist aber noch unsicherer wie der obere weg:

    PHP-Code:
    if (preg_match('/ID:.*?[^0-9a-f]([0-9a-f]{8})[^0-9a-f]/is'$text$hits)) {
        
    print_r($hits);

    es könnte ja schließlich sein das in dem text sonst noch irgendwo ID: vorkommt.

    Kommentar


    • #3
      Danke, hat mir wirklich weitergeholfen und wunderbar geklappt.
      Leider habe ich schonwieder ein ähnliches Problem, habe mich auch mal an dem Tutorial zu regulären Ausdrücken versucht, scheitert aber schon im Ansatz.

      Das Problem, ich müsste aus diesem Codeschnipsel ebenfalls die ID rausfiltern, die nur aus Zahlen besteht, aber auch von unterschiedlicher Länge sein kann.

      PHP-Code:
      </script><a href="/member/ss/15764/">User</a>
      </
      td
      Ich werd mich parralell nun hinsetzen und mich ausgiebig mit dem Thema beschäftigen, aber über einen lösungsvorschlag/Denkanstoß wäre ich dankbar...

      Kommentar

      Lädt...
      X