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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php