PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ^M in Texten



blackm
08-09-2002, 21:07
Hi,

ich hab ein Textfeld, das einen Text an ein Scipt übergibt. Der Text soll dann zusammen mit ein paar anderen Daten in ein Datei geschrieben wird. Irgendwie hab ich aber an den Stellen, an denen ich den Text per Return umgebrochen hab folgende Zeichen: ^M. Kann mir jemand sagen, wie ich diese Zeichen wegbekomme? Ein
$comment = eregi_replace("\^M", "", $comment); funktioniert leider nicht. Hat jemand eine andere Lösung?

by & Danke, blackm

msi
08-09-2002, 21:25
das kommt weil windows denn zeilenumsprung mit
zwei bytes (characters) macht, linux dagegen
nur mit einem (\n).

folgendes perlscript entfernt ihn aus einer datei:



#!/usr/bin/perl

while (<>) {
chomp;
chop;
print;
}


augerufen wie folgt:
./perlscript datei_mit_m > datei_ohne_m

oder wenn du einen string hast wie du
einfach einmal

chomp($stroing); # um \n zu entfernen falls vorhanden
chop($string); # letztes zeichen weg (^M)

blackm
08-09-2002, 21:49
Hi,

wollte eigentlich bei einer Sprache bleiben. Hab auch mitlerweile eine Lösung gefunden:

$comment = eregi_replace("\r", "" , $comment);Mit demphp-chop hab ich es auch versucht, aber die ^M`s werden dadurch nicht entfernt. Trotsdem Danke für deine Antwort.

by, blackm