dポイントプレゼントキャンペーン実施中!

人名を漢字、平仮名、アルファベットでカンマ区切りでcsvファイルに保存したものがあるとします。
それで例えば、平仮名で一番初めが「あ」の人だけを表示させたいプログラムを書きたいのですがなかなかうまくいきません。
正規表現の使い方もいまいちわかっていなく、とりあえず全て平仮名かどうか調べるプログラムを、
http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB% …
のサイトからコピーして作成してみたのですが、表示されませんでした。

以下が作成したものです。

<?php
$handle = fopen("csv.csv", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
list($kanji,$hiragana,$alphabet) = explode(",", $buffer);
if(mb_ereg("^[あ-ん]+$",$hiragana)){
$output .= "$kanji<BR>\n";
}
}
}
fclose($handle);

echo $output;

?>


もし出来ましたら、先頭が「あ」だけを表示する正規表現の表し方なども教えていただけると助かります。
お願いします。

A 回答 (3件)

そのサイトにも書いてありますが、


mb_regex_encoding()
mb_internal_encoding()
で正規表現で使う文字コードを設定しておかないとうまく動作しないと思われます。
    • good
    • 0

正規表現そのものは間違っていないと思うんで、それで表示されないのなら


文字コードがあっているかどうかが気になります。
その辺はどうですか?

あと、先頭が'あ'であるかだけ判定すればいいなら
^あ
でいいのでは?
'あ'の後ろは don't care でいいと思うんですが。
    • good
    • 0

^あ.*

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!