I am using http://code.google.com/p/parse开发者_开发知识库csv-for-php/ to parse my text file.
Using that I have told it that my delimiter is chr(1) which appears to work, however it is taking line feeds also as record breaks (which I specifically don't want it to do....)
By default the script says to look for these as linefeeds:
var $linefeed = "\r\n";
When I open my text file in vi, it looks like this
#export_date^Aapplication_id^Atitle^Arecommended_age^Aartist_name^Aseller_name^Acompany_url^Asupport_url^Aview_url^Aartwork_url_large^Aartwork_url_small^Aitunes_release_date^Acopyright^Adescription^Aversion^Aitunes_version^Adownload_size^B
#primaryKey:application_id^B
#dbTypes:BIGINT^AINTEGER^AVARCHAR(1000)^AVARCHAR(20)^AVARCHAR(1000)^AVARCHAR(1000)^AVARCHAR(1000)^AVARCHAR(1000)^AVARCHAR(1000)^AVARCHAR(1000)^AVARCHAR(1000)^ADATETIME^AVARCHAR(4000)^ALONGTEXT^AVARCHAR(100)^AVARCHAR(100)^ABIGINT^B
#exportMode:FULL^B 1276678802857^A371515175^ALAROUSSE Pâtissier^A4+^AEditions Larousse^AEditions Larousse^A^Ahttp://www.larousse.fr/infos/ipad^Ahttp://itunes.apple.com/app/id371515175?uo=5^Ahttp://a1.phobos.apple.com/us/r1000/044/Purple/b4/3a/34/mzl.utpthqib.100x100-75.jpg^Ahttp://a1.phobos.apple.com/us/r1000/052/Purple/68/2d/b0/mzl.wkhtezdb.png^A2010 05 13^ALAROUSSE^AAvec le Petit Larousse Pâtissier sur iPad, découvrez une nouvelle expérience en cuisine!^M ^M Un livre plébiscité et primé :^M – World Cookbook Awards – ^M Special Award of the Jury^M ^M Feuilletez, craquez devant les photos et choisissez votre recette ! C’est facile, un clic et vous tournez la page !^M ^M • 200 recettes magnifiquement illustrées pour retrouver toutes celles que l’on aime …et découvrir toutes celles que l’on a toujours eu envie d’essayer. ^M • Une trentaine de préparations de base : pâte feuilletée, meringue, glaçage au chocolat… étape par étape, toute en photographie. ^M • Une recherche simple par le sommaire, par temps de préparation ou par mots-clés^M • Des agrandissements automatiques en cliquant sur chaque paragraphe^M • Un mode plein écran pour dévorer des yeux toutes les recettes !^M • De nombreuses fonctionnalités de navigation : clic, feuilletage…^M • Des fiches pratiques pour tout savoir sur les aliments : provenance, variétés, caractéristiques nutritionnelles (accès wifi)^M
How do I define a ^M as a linefeed within the PHP variable, as I think that is what I need to do...
You can see the test output here, where it seems to work until it comes across a new line within the description.
http://www.smartphonesoft.com/fred/xmlfeed/test/auto_itunes_to_mysql.php
A line feed on a unix system is just "\n". On a dos system, it's "\r\n".
If you want the whole file split by chr(1), load the entire contents of the file into a string, replace "\n" with "", and then split by chr(1);
$stuff = file_get_contents("myfile.csv");
$stuff = str_replace("\n","",$stuff);
$items = split(chr(1),$stuff);
Give that a shot..
精彩评论