Ankündigung

Einklappen
Keine Ankündigung bisher.

von EREG auf PREG_MATCH umsatteln

Einklappen

Neue Werbung 2019

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

  • von EREG auf PREG_MATCH umsatteln

    Hallo,

    ich wollte mich gerade mit einem Code-Snippet der EZB spielen und scheitere gleich zu beginn daran.

    Unter ECB: Euro foreign exchange reference rates [Unter "For Developers"] findet sich das folgende Snippet zur Anzeige der aktuellen Währungs-Quotes:

    PHP-Code:
      <?php
    //This is a PHP (4/5) script example on how eurofxref-daily.xml can be parsed 

    //Read eurofxref-daily.xml file in memory 
    $XMLContentfile("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
    //the file is updated daily between 2.15 p.m. and 3.00 p.m. CET

    foreach ($XMLContent as $line) {
            if (
    ereg("currency='([[:alpha:]]+)'",$line,$currencyCode)) {
                if (
    ereg("rate='([[:graph:]]+)'",$line,$rate)) {
                        
    //Output the value of 1 EUR for a currency code 
                        
    echo '1 &euro; = '.$rate[1].' '.$currencyCode[1].'<br />';
                        
    //--------------------------------------------------
                        // Here you can add your code for inserting
                        // $rate[1] and $currencyCode[1] into your database
                        //--------------------------------------------------
                
    }
            }
    }
    ?>
    soweit, sogut - leider funzt das noch mit EREG und ich muss bekanntlich PREG_MATCH verwenden. Wenn ichs nur ersetze, bekomme ich die Fehldermeldung "Delimiter must not be alphanumeric or backslash". Ich habe mich ein wenig gespielt, jedoch habe ich einfach kein Ergebnis rausgebracht, welches mir eben mit PREG_MATCH die Quotes anzeigen würde.

    Welcher Pro könnte mir hier einen Tipp geben, wie ichs schaffe, dass es mit PREG_MATCH läuft?

    Danke im Voraus


  • #2
    Die grundsätzlichen Unterschiede im Aufbau der regulären Ausdrücke zwischen den ereg- und den preg-Funktionen beschreibt PHP: Differences from POSIX regex - Manual
    Und das nachfolgende Kapitel zur Syntax solltest du dir auch anschauen.


    Allerdings ist es nicht besonders sinnvoll, hier überhaupt reguläre Ausdrücke zu verwenden - schließlich werden die Daten doch als XML bereitgestellt.
    Da wäre es angebrachter, die bspw. mittels SimpleXML zu parsen.

    Kommentar


    • #3
      d.h. wohl, dass ichs gar nicht machen kann, weil ja in deinem link darauf verwiesen wird, dass

      "# The PCRE functions require that the pattern is enclosed by delimiters. "
      --> ist ja kein delimeter vorhanden

      Kommentar


      • #4
        Zitat von innuphp Beitrag anzeigen
        d.h. wohl, dass ichs gar nicht machen kann
        Natürlich kannst du - du musst die Suchmuster nur entsprechend anpassen bzw. umstellen.

        The PCRE functions require that the pattern is enclosed by delimiters.
        Ist da im Manual vielleicht das Wort delimiters verlinkt, kann man da vielleicht mal draufklicken, kann man dann vielleicht nachlesen, was es damit auf sich hat ...?

        Die Antwort lautet drei mal Ja.

        Kommentar


        • #5
          wow, auch hier bewahrheitet sich wieder, dass diejenigen die Lesen können (und vielleicht auch das Gelesene verstehen) eindeutig einen Vorteil haben

          thx für den Wink...

          Kommentar

          Lädt...
          X