Re: Stripping control M character (^M)

From: Date: Wed, 07 Sep 2005 20:23:57 +0000
Subject: Re: Stripping control M character (^M)
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-221992@lists.php.net to get a copy of this message
Hello All, I'm having some issues with carriage returns. Specifically the control M character (^M). I have attempted to clean and validate the file I'm creating. Here's the code. while ($row = mysql_fetch_array($result)){ // assign and clean vars $artist = trim($row[artist]); $tdDate = trim($row[start_date]); $venue = trim($row[venue]); $city = trim($row[CITY]); $state = trim($row[STATE]); $country = trim($row[COUNTRY]); $tdId = trim($row[td_id]); // create string $line = "$artist|||$tdDate||$venue|$city|$state|$country|$tdId\n"; // validate the string if(preg_match("/.*.|||.*.||.*.|.*.|.*.|.*.|.*.n\//", $line)){
      // record is correct so write line to file
      fwrite($handle,$line);
} } So ^M slips right by trim and my preg_match line.
Where is the carriage return appearing in your line of output? Trim will remove these, but only at the beginning/end of a string so if $artist = "Paul\rNowosielski" that won't get cleaned up... Maybe run them through ereg_replace() using "[\n\r]" as a pattern? -philip

« previous php.general (#221992) next »