[PHP-users 31443] Re: \tで区切られたデータの獲得

ヒロ hiro @ weed.bne.jp
2007年 2月 12日 (月) 10:37:42 JST


Seto様、尾田様有り難うございます。


Seto様
> 方法1:\t分割の結果配列をループさせて
>  空はSKIP(strlenなどでチェックしてcontinue)
>  !空はカンマとともに結合

なるほど!
explode("\t",$logline[$i]);
で区切ってstrlenが0か調べればよかったのですね^^;
これならすぐに出来そうです


> 方法2.複数の\tを1つの\tに変換させる→正規表現関数を使う
>  http://jp.php.net/manual/ja/ref.regex.php
>  http://jp.php.net/manual/ja/ref.pcre.php

ereg_replaceの置きかえが使えそうです
参考になります

じっくりマニュアルを読んで方法2を試したいと思います
ありがとうございました




尾田様
> split() か preg_split() なら正規表現が使えますので、こう書けます。
>
> $logfile = file('log.csv');
> foreach($logfile as $line) {
>  $log = split("\t+", chop($line));
>  print join($log, '-');
> }

なるほど、splitで区切ってchopで\tを除去しているのですね
joinの意味がイマイチ解りませんので、ググってどんな動作かわかってから
サンプルを動かしてみたいと思います

ありがとうございました 



PHP-users メーリングリストの案内