对新行、Unix和PHP感到困惑

对新行、Unix和PHP感到困惑,php,newline,Php,Newline,我正在使用解析我的文本文件 使用它,我告诉它,我的分隔符是chr(1),它似乎可以工作,但它也将换行作为记录中断(我特别不希望它这样做…) 默认情况下,脚本将这些作为换行符查找: var $linefeed = "\r\n"; 当我在vi中打开我的文本文件时,它看起来像这样 #export_date^Aapplication_id^Atitle^Arecommended_age^Aartist_name^Aseller_name^Acompany_url^Asupport_url^Aview_

我正在使用解析我的文本文件

使用它,我告诉它,我的分隔符是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变量中的换行符,因为我认为这是我需要做的

您可以在这里看到测试输出,它似乎一直在工作,直到它遇到描述中的新行为止


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);