• ベストアンサー

splitでの文字列分割

文字列中の「,」で分割をしたいのですが 「\,」では分割したくありません このような場合、どのような正規表現をかけばいいのでしょうか? <?php $str = "asd,fgh,qwge\,zxc"; $ary_ary = split("[^\],",$str); print_r($ary_ary); ?> ------結果------ Array ( [0] => as [1] => fg [2] => qwge\,zxc ) いろいろ考えてみましたが 上のようにうまくいきませんでした ご教示おねがいします

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

$ary_ary = preg_split('/(?<!\\\\),/',$str);

bonyamk
質問者

お礼

ありがとございます! 無事解決することができました ・・・しらない正規表現でしたのでもっと勉強してきます^^;

その他の回答 (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関数を使うのが手っ取り早いと思います。

bonyamk
質問者

補足

ちょっと説明が足りなかったようです ------希望結果------ Array ( [0] => asd [1] => fgh [2] => qwge\,zxc ) こうなる方法の質問でした

関連するQ&A