Hallo,
ich habe folgendes Problem. In einer XML-Datei steht z.B.
<ShipmentActualWeight> 0.1</ShipmentActualWeight>
(Das kann auch mehrmals vorkommen)
Hier soll einfach die 0.1 in 0,1 geändert werden und das
XML-File wieder abgespeichert werden.
Ich hab das bewußt bei PHP gepostet, weil ich auf dem Server
später kein DOMXML zur Verfügung haben werde.
Bisher mache ich folgendes:
Das ist natürlich nicht ganz Sinn der Sache, weil er mir hier ja ALLE . in , ändert.
Mit regulären Ausdrücken kenne ich mich nicht so aus, aber ich hab mal geschaut, wie man es mit preg_match lösen könnte. In den Beispielen habe ich immer nur Sachen gefunden, die mir ein (oder mehrere) gefundene/s Zeichen ersetzen.
z.B. preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str);
Ich bräuchte aber etwas, was mir
a) ausliest, was zwischen <ShipmentActualWeight> und
</ShipmentActualWeight> liegt
und
b) diesen Inhalt dann auf einen Punkt überprüft und in ein Komma ändert, soweit vorhanden.
Ich denke Punkt b ist sicher das kleinste Problem...
Wenn das eine kompliziertere, aufwändigere Sache ist, dann sagt es bitte gleich, dann laß ich die Finger davon. Wenn es tatsächlich "nur" ein paar Parameter im Pregmatch sind, würde ich mich über etwas Hilfe freuen!
Vielleicht liege ich mit meinem Ansatz ja auch völlig daneben?
Danke schonmal und Grüße,
Coni
ich habe folgendes Problem. In einer XML-Datei steht z.B.
<ShipmentActualWeight> 0.1</ShipmentActualWeight>
(Das kann auch mehrmals vorkommen)
Hier soll einfach die 0.1 in 0,1 geändert werden und das
XML-File wieder abgespeichert werden.
Ich hab das bewußt bei PHP gepostet, weil ich auf dem Server
später kein DOMXML zur Verfügung haben werde.
Bisher mache ich folgendes:
PHP-Code:
$file = 'einedatei.xml';
if (isset($_POST['txt'])) {
$handle = fopen ($file, 'r+');
$neu=stripslashes($_POST['txt']);
$neu=str_replace(".", ",", $neu);
fwrite ($handle, $neu);
fclose ($handle);
}
readfile($file);
?>
</textarea>
<input type="submit" value="save">
</form>
Mit regulären Ausdrücken kenne ich mich nicht so aus, aber ich hab mal geschaut, wie man es mit preg_match lösen könnte. In den Beispielen habe ich immer nur Sachen gefunden, die mir ein (oder mehrere) gefundene/s Zeichen ersetzen.
z.B. preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str);
Ich bräuchte aber etwas, was mir
a) ausliest, was zwischen <ShipmentActualWeight> und
</ShipmentActualWeight> liegt
und
b) diesen Inhalt dann auf einen Punkt überprüft und in ein Komma ändert, soweit vorhanden.
Ich denke Punkt b ist sicher das kleinste Problem...
Wenn das eine kompliziertere, aufwändigere Sache ist, dann sagt es bitte gleich, dann laß ich die Finger davon. Wenn es tatsächlich "nur" ein paar Parameter im Pregmatch sind, würde ich mich über etwas Hilfe freuen!
Vielleicht liege ich mit meinem Ansatz ja auch völlig daneben?
Danke schonmal und Grüße,
Coni
Kommentar