Deprecated: split()

  • Die Funktion split() ist ja seit PHPv5.3 unerwünscht.
    Nun ist das aber in meinem Shop in einem Versandkostenmodul drinne und ich kriegs nicht gebacken

    Das sieht so aus:
    [ATTACH=CONFIG]932[/ATTACH]

    Das Graue ist eine Tabellenzeile. Im Versandkosten modul selbst steht das dann so drinne: CH:5.35,DE:4.00,AT blabla
    Die PHP-Stelle dazu ist

    Empfohlen wird hier *** Link veraltet *** und hier *** Link veraltet *** explode() oder preg_split().

    Aber ich kann machen, was ich will: Wenn ich preg_split oder explode nehme, dann zeigt es nur die Standardfloskel "Es können keine Versandkosten für dieses Land berechnet werden" in der grauen Zeile an.
    Und das ist natürlich Dumme, wenn ich dann Versandkostenfrei versende :D

    Hat da jemand ne schlaue Idee?

  • Also mit Explode wird es umfangreicher, da es nur anhand eines Zeichens splittet, Du aber : und , zur Auswahl hast.

    Mit preg_split sollte es aber so gehen:

    $dp_table = preg_split("/[:,]/", $dp_cost);

    Ich wünsche euch alles Gute.

  • Mpf.

    Warum muß man das reg-exp mit Slashes umzingeln? Und warum steht das nicht in der Dokumentation? *grml

    EDIT: Dat geht^^ :D
    Alter Verwalter... und ich fummle da stundenlang rum *grr

    Danke!

    Aber ne Verständnisfrage zu PHP:
    Warum macht man neue PHP-Versionen nicht abwärtskompatibel?
    Warum werden da gebräuchliche Funktionen rausgeworfen oder als unerwünscht deklariert?

    Wer zuerst "Datenschutz" sagt, hat verloren.

  • Die Versionen sind abwärtskompatibel, daher gibt es ja das Deprecated und die schalten so eine Funktion nicht einfach so ab. Ansonsten ist das aber auch verständlich. Würde die alles drinnen lassen, was es jemals gab, dann wäre der Core wohl 3mal so groß und alles gäbe es doppelt und dreifach. Wobei die neuen Funktionen in aller Regel das gleiche können, oft mehr und teils auch deutlich schneller sind.

    Zitat

    Und warum steht das nicht in der Dokumentation?


    Steht doch da, unten in den Beispielen :)
    *** Link veraltet ***

    Ansonsten brauchen das alle preg_xxx-Funktionen. Der Pattern wird immer in einen Delimer gesetzt. Das muss kein Slash sein, aber der ist halt üblich.
    *** Link veraltet ***

    Ich wünsche euch alles Gute.