[PHP-users 25886] Re: 連続ダブルコーテーションの置き換え
Yusuke ITO
ito_yusuke @ white.livedoor.com
2005年 6月 23日 (木) 12:13:23 JST
伊東です。
--Seto<seto @ 1kg.jp> wrote:
> >>$column_1=preg_replace( '/"{2,}/', '"', $column_1 );
> >はだめでした。
> どのようにだめなのか書いたほうが良いですよ。
> # 私は問題ないと思うんだけどなぁ。
CSVの仕様?では、文字列中に"や,が存在する時にはクォートする必要があり、
その時文字列中の「"」を「""」に置き換える必要があると認識しています。
つまり、逆の動作をするには「""」→「"」の置き換えが必要なのであって…
ということを言ってるんだと思います。
で、まぁ結論はfgetcsvを使えよ、なのですが、自力でやるなら
if(「"」で囲まれている){
先頭と末尾の「"」を取り除く; ←(1)
文字列中の「""」を「"」に置き換える; ←(2)
}else{
そのまま;
}
(1)はsubstrなりで実装、
(2)はstr_replaceを使えばいいんじゃないでしょうか。
$str = str_replace('""', '"', $str);
--
伊東 祐介
ito_yusuke @ white.livedoor.com
-----------------------------------------------
2GBまでメールや画像など貯め放題!さらに特典いっぱい♪
livedoor ギガメーラープラス 【新登場】
http://gigamailerplus.livedoor.com/
PHP-users メーリングリストの案内