【问题标题】:Confused over newlines, Unix and PHP对换行符、Unix 和 PHP 感到困惑
【发布时间】:2010-07-15 16:43:38
【问题描述】:

我正在使用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

【问题讨论】:

    标签: php newline


    【解决方案1】:

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

    试一试..

    【讨论】:

      猜你喜欢
      • 2012-10-08
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2017-09-20
      相关资源
      最近更新 更多