トランスビット
トランスビットの開発ノート Webサイト制作に役立つTipsやトラブルシューティングなどの備忘録 - php -

PHPで値が「ひらがな」のみか調べる(正規表現)

WordPressで、Wp_User_Query関数を使ってmeta_queryで絞込みしようとしたら、抽出結果が予想外で盛大にハマりました……orz
あーでもないこーでもないと色々試したものの、どうにも糸口を見つけ出せず、やさぐれてネットサーフィンしてたら、ふと、クエリそのものに頼りすぎてることに気づきました。

フォームから受け取った変数の中身の文字列が「ひらがな」のみか否か。それによってmeta_queryをちょこちょこっと変更してやればいいだけだったわけです。
というわけで、下記がUTF-8で長音も含める場合の正規表現。

if(preg_match("/^[ぁ-んー]+$/u",$str)){
  // 「ひらがな」のみの時の処理
}else{
  // 「ひらがな」だけじゃない時の処理
}

いつも思います。
たったこれだけのことで……バカ!(TT

Filed under: ,

PHPでディレクトリを扱う

随分前に桜が散ったというのに、連日寒くて涙目のトランスビットの中の人です。
冬に底値で買ってきて、今満開を迎えている庭のビオラの花が、ナメクジの食害にあっています。
ゆ る せ な い !
奴らは夜行性で、日中は土の中に潜っているそうです。
そんなわけで、夜な夜な割り箸と酢のはいった容器を持って見つけ次第捕殺しているのですが、見つけるたびに「オオナメクジ が あらわれた! →たたかう」って感じでDQ2の戦闘を思い出します。
ナメクジを捕殺している私の姿が、道行く人々を驚かせていないことを願います。

さて、PHPではdirname()を使うと、ディレクトリ名がとれます。
一階層上のディレクトリ名を取得したい場合、さらにdirname()。もう一階層(ry

$dir = dirname( $_SERVER["REQUEST_URI"] ); // URIの最後のディレクトリ

$dir1 = dirname( $dir ); // 一階層上
$dir2 = dirname( $dir1 ); // 二階層上
$dir3 = dirname( $dir2 ); // 三階層上

地味に便利です。

Filed under: ,