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

  • innuphp
    hat ein Thema erstellt von EREG auf PREG_MATCH umsatteln.

    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

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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • innuphp
    antwortet
    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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:

Lädt...
X