はぁ~
正規表現は本当にイヤだ。
便利なんだが、とっかかりにくい。
それはさておき、メモメモ!
phpで値を定義するdefine関数の定義と値をとってきたい!などと思って、とりあえず作ってみた。
$arr1 = preg_split(‘/^define¥(|¥)¥;/’, $buf);
$arr2 = explode(‘,’, $arr1[1], 2);
本当はpreg_split 1回で済ませたいのだが、
define(AAA, 1);
define(ABC, “A,B,C”);
みたいな定義をしているもので、
「1つめのカンマは効いてほしいけど、2つ目以降は見てほしくないの!」
なことをしたい。
だけど、preg_splitでカンマで区切るのは1回だけ!っていう指定をどうやってやるのかわからんかったので、とりあえず、preg_splitで「define(」と「);」 で、
array( “”, “AAA, 1”, “”)
という感じに分割させて、その後、
できた配列の2つめの文字列(上で言うと、”AAA, 1″)をカンマで2つの配列に分けよ!
ということでexplodeを利用してみた。
もっといいやり方ないかな・・・