パソコンと携帯電話の両方から閲覧可能なウェブサイトを作りたいです。端末ごとに振り分けるのではなく、一つのファイルへアクセスさせたいのですが、携帯端末からの場合は文中の全角カタカナを半角カタカナに自動変換する方法を教えて下さい。

下記のサイトではそれが実現しています。
http://fhp.from.jp/mobile/
URLが無い場合は具体的に詳しくご説明いただけると嬉しいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:xnissy No.1

回答回数1029ベストアンサー獲得回数203

ポイント18pt

例として挙げられたサイトでも,cgiで端末ごとに振り分けているようです.

振り分ける方法は2つめのURLの回答をご覧ください.

http://www.hatena.ne.jp/1097552638

携帯用ページとパソコン向けページへの振り分け方ですが、その方法とそれぞれの方法によるメリット、デメリットを教えて下さい。.. - 人力検索はてな

id:miya12

ご回答ありがとうごぁいます。同じURLに見えるだけで振り分けがされているんですね。そうなると端末ごとのファイルを用意せねばなりませんよね…。

2004/11/05 01:35:40
id:k12u No.2

回答回数80ベストアンサー獲得回数7

ポイント18pt

http://www.komonet.ne.jp/~php/chap17.htm

環境変数と携帯サイト

URL一つ目はPHPの例です。二つ目はPerlによるCGI。

ページを生成するプログラムから環境変数のHTTP_USER_AGENT等を参照してプログラムの動作を切り替えるのが一般的でしょう。

http://perl.misty.ne.jp/21.html

環境変数($ENV{環境変数名}) -ミスティーネットPerl・CGI講座-

id:miya12

ご回答ありがとうございます。PHPという手もあるんですね。やはり振り分ける意外に方法はないのでしょうか?

端末ごとのファイルを用意する必要がありますよね。

2004/11/05 10:53:31
id:abunakunai No.3

回答回数26ベストアンサー獲得回数3

ポイント18pt

PHPで説明します。

そのまま貼れば動くと思います。

<?php

# 読み込むhtml。shift-jisで書いておいてください。

$file = ’keitai.html’;

# keitai.htmlを読み込みます。

$fh = fopen($file,’rb’);

$buf = fread($fh,filesize($file));

fclose($fh);

# mb_convert_kanaで全角→半角処理をしています。

$hankaku_buf = mb_convert_kana($buf,’k’,’sjis-win’);

# user_agentを見てふりわけます

if( preg_match(’/docomo/i’,$_SERVER[’HTTP_USER_AGENT’]) ) {

echo $hankaku_buf;

}

else {

echo $buf;

}

?>

id:miya12

ご回答ありがとうございます。おお!具体的な記述ありがとうございます。やはりPHPかCGIでの振り分けですね。

2004/11/05 10:56:47
id:ova88 No.4

回答回数7ベストアンサー獲得回数0

ポイント18pt

URLはありませんが・・・全角カナ・半角カナの自動変換は

1. ファイルレベルで振り分け

2. 文章レベルで振り分け

のどちらかになるかと思います。

1の場合は、上で回答されているようにCGIなどで2つ以上のファイルに振り分けさせます。

2の場合は、文書全体あるいは一部分を変換プログラムにかけることで振り分けているように「見せる」ことができると思います。この場合、1つのファイルでOKです。ただ、サーバに多少なりとも負荷がかかるのは見え見えですが・・・。

もし私がやるなら、自分で全半角変換用のプログラムを書いちゃいますね。コンテンツが2つ以上あると、保守が大変なので。ただ、そのようなものが世の中にあるかどうかは知りません。

id:miya12

ご回答ありがとうございます。うーん。サーバーに負荷がかかるのはなるべく避けたいですね。やはりファイルで振り分けですかね。やっぱり振り分けしかないのかしら…。

2004/11/05 10:59:40
id:xujiahui No.5

回答回数4ベストアンサー獲得回数0

ポイント18pt

振り分けでいいということであれば、

このしらぎくモバイルシステムというCGIはどうでしょうか?

iモード向けサイトを制作するだけで全端末対応の

モバイルサイトを構築することができるようです。

あとは今のところ一部コンテンツのみですが、

XOOPSを利用して、ブログやニュースだけは

1つのコンテンツをそのままそれぞれのページに

アクセスしてもらえば読めるようにできます。

http://lain.gr.jp/

.lain - News for Anime & Manga Geeks

上記はスクリプト配布先

http://www.toromi.com/

トロッコ蜜柑人材育成研究所:[toromi]

実現先です。上部の携帯用コンテンツと

パソコン用コンテンツの一部(ブログ等)は

同じソースから読んでいます。

id:miya12

ご回答ありがとうございます。XOOPSですか。ふむふむ。やはり振り分けが一番ですかね。しらぎくは聞いたことがあります。熟読してみます。

2004/11/05 11:08:09
  • id:k12u
    補足

    もう少し補足したいと思います.
    結論から言えば別々のファイルを用意する必要はありません(別々のファイルの意味を私がとり違えていなければ).

    文章のファイル->CGIやPHP->ブラウザ
    という流れになるわけですが,CGIやPHPで文章のファイルを読む際に
    HTTP_USER_AGENTや別の情報を参照してブラウザを判別し,
    必要に応じて全半角を変換して出力すれば実現できます.

    全半角の変換の具体的な例は
    jcode.plやJcode.pmのz2h,h2zがそのものズバリです.
  • id:miya12
    ありがとうございます!!

    返信するのが遅くなりました。
    補足までしていただいて嬉しいです。

    >全半角の変換の具体的な例は
    >jcode.plやJcode.pmのz2h,h2zがそのものズバリです.

    jcode.pl はCGIの掲示板などで使うアレですね。
    その他は初耳なので、調べてみようと思います。
    ありがとうございます!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません