スレッド表示 | フラット表示〕 全トピック 920 件中 385 番目 次≫ ≪前

ユーザエージェント

created: 2005-08-22 19:37 | modified: 2005-08-22 21:16 | reply: 1

[2489] ユーザエージェント

user: ちひろ | created: 2005-08-22 19:37
お久しぶりです。
あまり頻繁に投稿するのは失礼かと思いましたが、どうしても分からないことがあるので投稿させてもらいました。

今現在HTTP_USER_AGENTを使ってアクセスしてきた携帯の機種名を
表示しようと試みているのですが、
if( preg_match( "/DoCoMo\/2.0 SH901iS(c100;TB;W24H12)/", $_SERVER['HTTP_USER_AGENT'] ) ){
    echo("SH901iS");}
と書いてやっても上手く取得してくれません。

そこで
if( preg_match( "/SH901iS/", $_SERVER['HTTP_USER_AGENT'] ) ){
echo("SH901iS");}
としてみたところ上手く表示してくれました。

しかしこれでは問題が出てきてしまいます。
それは

if( preg_match( "/SH901i/", $_SERVER['HTTP_USER_AGENT'] ) ){
echo("SH901i");
}elseif( preg_match( "/SH901iS/", $_SERVER['HTTP_USER_AGENT'] ) ){
echo("SH901iS");
}else{
echo("その他");
}

とした場合SH901iSでアクセスしてもSH901i(SH901iは実際にはありませんが)と表示されてしまいます。

なにか解決策はないでしょうか?
reply: 2490 返信 編集 削除

[2490] 制御構造

user: ゆうじ | created: 2005-08-22 21:16
SH901iS と SH901i だけを区別すれば良いのなら
if文の順番を入れ替えるのはダメですか。

if( preg_match( "/SH901iS/", $_SERVER['HTTP_USER_AGENT'] ) ){
echo("SH901iS");
}elseif( preg_match( "/SH901i/", $_SERVER['HTTP_USER_AGENT'] ) ){
echo("SH901i");
}else{
echo("その他");
}
Parent: 2489  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 385 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑