Regulärer Ausdruck

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

  • Regulärer Ausdruck

    Hallo
    Ich habe gesucht und habe nichts gefunden.
    Ich brauche einen regulären Ausdruck, der von der ebay Artikel Seite das aktuelle Gebot ausliest. Es muss die erste Zahl nach dem ersten EUR nach Aktuelles Gebot gefunden werden. Ich hab keine Ahnung wie ich das machen soll. Hilfe!
    mfg
    Christian

  • #2
    Damit du bei der Sache auch etwas lernst: Siehe Tutorials.

    Kommentar


    • #3
      Okay ich hab mal was zusammen geschustert
      /^Aktuelles[ ]Gebot:.{60,90}<b>EUR[ ]D[,]D$/
      Fängt mit Aktuelles Gebot: an, danach kommen 60-90 irgendwelche Zeichen, dann kommt <b>EUR, ein Leerzeichen, eine Zahl (?), ein Komma und noch eine Zahl. Dieses Gewurschtel kann doch gar nicht funktionieren. Nochmal Hilfe!
      mfg
      Christian

      Kommentar


      • #4
        Das sieht bei ebay übrigens so aus:
        Code:
        <td valign="top" nowrap>
        <font face="Arial" size="2">
        						Aktuelles Gebot:
        						</font>
        </td>
        <td width="100%">
        <font face="Arial" size="2"><b>EUR 161,11<font face="Verdana" color="#666666" size="1"></font></b></font>
        </td>

        Kommentar


        • #5
          na, das hast du dir sicher nicht mit Hilfe des Tutorials erarbeitet.

          Kommentar


          • #6
            Eigentlich schon. Ich hab nicht wirklich verstanden, wie ganze Strings geprüft werden. Ob da noch " oder sowas drum muss. Ich hab mal weiter probiert:
            /^Aktuelles Gebot:.{60,90}<b>EUR \d+[,]+\d+$/m
            Aber diese Variante geht immer noch nicht.
            Zuletzt geändert von Mupfiklaus; 18.08.2003, 15:11.

            Kommentar


            • #7
              Eine Testoberfläche (mit gekürztem pattern):
              PHP-Code:
              <?php
              $subject
              ='<td valign="top" nowrap>
              <font face="Arial" size="2">
                                      Aktuelles Gebot:
                                      </font>
              </td>
              <td width="100%">
              <font face="Arial" size="2"><b>EUR 161,11<font face="Verdana" color="#666666" size="1"></font></b></font>
              </td>
              '
              ;
              $pattern='/^<b>EUR[ ]+\\d+[,]+\\d+$/';
              echo 
              preg_match($pattern,$subject,$matches);
              echo 
              $matches;
              ?>

              Kommentar


              • #8
                Da ist ja mein ausdruck:
                /Aktuelles Gebot:.{67}<b>EUR ((\d+)\,(\d+))/s
                Tschüß

                Kommentar


                • #9
                  Mit Verstand scheinst du es nicht gelesen zu haben! Ich glaube von deinem code ist nicht der geringste Teil sinnvoll!

                  Aber du hast dich ja zumindest annähernd bemüht. Versuch mal den Folgenden Code. Der wird dir sicher weiterhelfen.

                  PHP-Code:
                  <?
                  $subject='<td valign="top" nowrap>
                  <font face="Arial" size="2">
                                          Aktuelles Gebot:
                                          </font>
                  </td>
                  <td width="100%">
                  <font face="Arial" size="2"><b>EUR 161,11<font face="Verdana" color="#666666" size="1"></font></b></font>
                  </td>
                  ';
                  $pattern='/EUR(.*)</';
                  if(preg_match($pattern,$subject,$matches))
                      print_r($matches);
                  else
                      echo "Leider nicht gefunden";
                  ?>

                  Kommentar


                  • #10
                    naja, Arroganz scheinst Du auch mit dem Löffel gegessen zu haben...

                    Kommentar


                    • #11
                      Da hilft man mal

                      Kommentar

                      Lädt...
                      X