Zeichenkette zwischen zwei bestimmten Ausdrücken ersetzen

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

  • #16
    Hm, also bei

    http://www.php-resource.de/tutorials/read/10/1/

    gibt es ja schon prima Anhaltspunkte. Aber das d hab ich nicht gefunden. Weiß jemand, wo es eine komplette Liste gibt?

    Was mein Problem betrifft, hab ich jetzt mal nur ein * vor den Punkt gemacht, das geht schonmal auch nicht... ich probier's weiter.
    Gruß, Coni
    ~~ codito ergo sum - ich code, also bin ich! ~~

    Kommentar


    • #17
      Original geschrieben von jahlives
      Also etwas wie
      \s*(\d*)\.(\d+)
      Äh...wow! Das hat auf Anhieb funktioniert. Und das macht mich mißtrauisch. Mal ausgiebig testen!

      Vielen Dank!

      PHP-Code:
      $neu preg_replace('|(<ShipmentActualWeight>)\s*(\d*)\.(\d+)(</ShipmentActualWeight>)|U'"$1$2,$3$4"$neu); 
      Irgendwie erinnert mich das an einen Artikel, den ich mal gelesen habe, wie PHP erfunden wurde... oder war es C? ;-)
      Gruß, Coni
      ~~ codito ergo sum - ich code, also bin ich! ~~

      Kommentar


      • #18
        Das hat auf Anhieb funktioniert. Und das macht mich mißtrauisch
        OffTopic:

        Heisst das, dass du ein Betriebssystem, das von Anfang an einwandfrei funzt, einfach wieder von deiner Platte fegst?

        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #19
          Original geschrieben von jahlives
          OffTopic:

          Heisst das, dass du ein Betriebssystem, das von Anfang an einwandfrei funzt, einfach wieder von deiner Platte fegst?

          OffTopic:

          Aber klar, wo bliebe da sonst der Reiz? ;-) Nee, aber ich lauere auf mögliche Fehler, Vorsicht ist die Mutter der Porzellankiste!

          http://www.ninisworld.com/oddsends/j...rogrammers.jpg

          Gruß, Coni
          ~~ codito ergo sum - ich code, also bin ich! ~~

          Kommentar


          • #20
            hier würde es sich auch anbieten, die wertebearbeitung im zusammenspiel mit preg_replace_callback() in eine funktion auszulagern.

            PHP-Code:
            $string '<ShipmentActualWeight> 1.5</ShipmentActualWeight></blub>
            <dsdv />
            <ShipmentActualWeight>2.8  </ShipmentActualWeight>'
            ;

            $search '|(<ShipmentActualWeight>)(.*)(</ShipmentActualWeight>)|sU';
            $string preg_replace_callback($search'prepareValue'$string);

            function 
            prepareValue($matches)
            {
             
            // Alle möglichen String-Funktionen ...
             
            $value trim($matches[2]);
             
            $value str_replace('.'','$value);
                
             return 
            $matches[1].$value.$matches[3];
            }

            // Zur Kontrolle mal alles ausgeben
            echo '<pre>'.nl2br(htmlentities(print_r($stringtrue))).'</pre>'

            Kommentar


            • #21
              Wäre eigentlich

              \s*(\d*)\.\s*(\d+)

              korrekt, um auch noch die hinteren Leerzeichen abzufangen?
              Gruß, Coni
              ~~ codito ergo sum - ich code, also bin ich! ~~

              Kommentar


              • #22
                $search = '|(<ShipmentActualWeight>)(.*)(</ShipmentActualWeight>)|sU';
                irgendwie haut das forum leerzeichen vor die schließenden klammern

                berni, wann kommt denn der update?

                Kommentar

                Lädt...
                X