正規表現で、苦しい「く」

PHP5+正規表現で
カッコを含む括弧内の文字列を削除したい。

たったこれだけの事でした。

$data = "山田太郎(やまだたろう)";
$patstr="\(.*?\)|(.*?)";
$repstr="";
$data = mb_ereg_replace($patstr, $repstr, $data);


これで、 山田太郎 と出力されます。


ここまでは良かったのですが


$data = "佐藤美来(さとうみく)";
の場合、消去されません。。。

なんてことだ、他のはきちんと削除されているというのに・・・。

というわけで、
1.全角半角チェック → 問題なし
2.(さとうみ) → あれ、消えた?
3.(く) → 消えない。

く が原因か!

く が悪いのか!


d0265106_1543330.jpg



と、原因がわかったものの
調べても、どういうバグかわかりません。

カッコ悪いけれど、今はこう対応しています。
$patstr="\(.*?\)|(.*?)|(.*?く)";

誰か原因教えてください(´・ω・`)
[PR]

by hiro__neko | 2012-11-06 15:06 | PGじゃない人間の備忘録  

<< Storepassというサイト... iPad mini よいね >>