ちくしょうなんて仕様だ…
ちょぃと複雑なテキスト処理を行う場合、最近 php を利用するようになりました。 それなりに手軽なので、結構気に入っています。(が不満も当然ある:ぉ)
でまぁ、今日は Cのヘッダーファイルのをごにょごにょする為のコードを書いていました。
基本的には問題なく希望の動作をしてくれていたのですが、\ が入り式(?)が複数の行にまたがっているところで問題が発生してしまいまして、あぁこりゃ1行に結合して処理をおこなわなきゃなー というところまでは良かったんですが………
世の中上手くいきませんねぇー。(何
上手くいかない
<? //** 抜粋コード ** $line = $file[$i]; // 行末に \ があれば次の行と結合 while(preg_match("/\\+$/", $line)) { $line = preg_replace("/\\+$/", " ", $line); $line .= $file[++$i]; } ?>
こんな感じで、行末に \ があれば次の行を読み取って、今の行に結合するコードを書いたのですが、ループの中に入ってくれない。 行末に \ があっても認識しない。 何でやねん!
問題を単純化するために次のようなコードを書いてみたのですが、
<? $line = "\\"; if(preg_match("/\\+/", $line)) { print "yen!!\n"; } ?>
これも "yen!!" なんて出力してくれない! 何故だ!!
<? $line = "\\"; // \\\\ が肝 if(preg_match("/\\\\+/", $line)) { print "yen!!\n"; } ?>
うそん。orz
…えーっと、php は
という2段構えということでFAですかな? ははは、勉強になりましたよ。ははは。
1時間ぐらい返しやがれ。