开发者

Confused over newlines, Unix and PHP

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..

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜