对新行,Unix和PHP感到困惑

时间:2010-07-15 16:43:39

标签: php newline

我使用http://code.google.com/p/parsecsv-for-php/来解析我的文本文件。

使用它我已经告诉它我的分隔符是chr(1)似乎工作,但它也采用换行符作为记录中断(我特别不希望它做....)

默认情况下,脚本会将这些内容视为换行符:

var $linefeed = "\r\n";

当我在vi中打开我的文本文件时,它看起来像这样

#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

如何将^ M定义为PHP变量中的换行符,因为我认为是我需要做的...

你可以在这里看到测试输出,它似乎在描述中遇到新行之前一直有效。

http://www.smartphonesoft.com/fred/xmlfeed/test/auto_itunes_to_mysql.php

1 个答案:

答案 0 :(得分:0)

unix系统上的换行只是“\ n”。在dos系统上,它是“\ r \ n”。

如果希望整个文件被chr(1)拆分,请将文件的全部内容加载到字符串中,将“\ n”替换为“”,然后用chr(1)拆分;

$stuff = file_get_contents("myfile.csv");
$stuff = str_replace("\n","",$stuff);
$items = split(chr(1),$stuff);

给那个镜头..