• ベストアンサー

カンマ区切りの数字で指定したものだけを取り出したいです。

カンマ区切りの数字で指定したものだけを取り出したいです。 $test = "1,2,3,5,10,11,14" という文字列から、1だけを取り出したい場合、どうしたらよいのでしょうか。 preg_match_all("/(?<!1)1(?!1)/",$test,$match); print implode($match[0]); としてますが、なぜか10,11,14と1が含まれるもの全てが表示されてしまいます。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

先読み戻り読みを勘違いしているのかと・・・ こんな感じで? <? $test = "1,2,3,5,1,10,11,14,1"; $pattern="/(?<=^|,)1(?=,|$)/"; preg_match_all($pattern,$test,$matches); print_r( $matches); ?>

hukazuo
質問者

お礼

ありがとうございました。 無事、解決できました!!

その他の回答 (1)

回答No.2

単純に単語区切りの\bを利用し、 preg_match_all('/\b1\b/',$test,$match);

hukazuo
質問者

お礼

ありがとうございました。 単純ミスですね^^;

関連するQ&A