Re: Stripping control M character (^M)
| From: | Burhan Khalid | Date: | Sun, 11 Sep 2005 14:12:52 +0000 |
| Subject: | Re: Stripping control M character (^M) | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-222144@lists.php.net to get a copy of this message | ||
Philip Hallstrom wrote:
Or maybe use the m modifier?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)){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?// record is correct so write line to file fwrite($handle,$line);} } So ^M slips right by trim and my preg_match line.