- ベストアンサー
splitでの文字列分割
文字列中の「,」で分割をしたいのですが 「\,」では分割したくありません このような場合、どのような正規表現をかけばいいのでしょうか? <?php $str = "asd,fgh,qwge\,zxc"; $ary_ary = split("[^\],",$str); print_r($ary_ary); ?> ------結果------ Array ( [0] => as [1] => fg [2] => qwge\,zxc ) いろいろ考えてみましたが 上のようにうまくいきませんでした ご教示おねがいします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
$ary_ary = preg_split('/(?<!\\\\),/',$str);
その他の回答 (1)
- briant-jr
- ベストアンサー率50% (5/10)
回答No.2
<?php $str = "asd,fgh,qwge\,zxc"; $ary_ary = explode(",",$str); print_r($ary_ary); ?> split関数は正規表現のパターンで分割しますが explode関数は指定の区切り文字で分割します。ご質問の内容であれば複数の区切り文字を使うのではなくコンマのみでの区切りということですので、explode関数を使うのが手っ取り早いと思います。
質問者
補足
ちょっと説明が足りなかったようです ------希望結果------ Array ( [0] => asd [1] => fgh [2] => qwge\,zxc ) こうなる方法の質問でした
お礼
ありがとございます! 無事解決することができました ・・・しらない正規表現でしたのでもっと勉強してきます^^;