Reguläre Ausdrücke

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

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

    Comment


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

      Comment

      Working...
      X