人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

YouTubeの動画をAPIを利用してDBに動画情報を蓄積し、
サイト上に表示させる仕組みを作っています。

表示する場合はURLにタイトル名をいれて、そのタイトルをGETして
マッチした動画が再生されるようにしました。



もしタイトルが「漫☆画太郎」だった場合、URLは

http://xxx.jp/漫☆画太郎

となり正常に表示されます。ところがタイトルが
「漫/画太郎」や「漫?画太郎」の時は

http://xxx.jp/漫/画太郎
↑階層が違ってしまう

http://xxx.jp/漫?画太郎
↑「画太郎」がパラメータと認識されてしまう

などからうまく表示できません。



そこでYoutubeから読み込む際に

$title = str_replace('&','&', $title);
$title = str_replace('/','/', $title);

などとして全角に変換しているのですが、他にも変換が必要な文字列があり
記述もあまりスマートではありません。またすべての文字列を半角→全角に
する方法もあると思いますが、実際に弊害がある文字列のみ変換したいと
思っております。

何か良い方法があればご教授お願い致します。

●質問者: gelgelgel
●カテゴリ:インターネット ウェブ制作
✍キーワード:API dB URL YouTube サイト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pahoo
●60ポイント ベストアンサー

そういう場合は、URLエンコードを使うのが定石です。Wikipediaで採られている方式です。

ブラウザやサーバによっては全角文字が含まれたURLを受け付けないので、すべてをURLエンコードすべきです。

◎質問者からの返答

pahooさん

ご回答ありがとうございます。

なるほど確かにURLエンコードという言葉をどこかで聞いたような気がしました。

これから検証してみます。ありがとうございました!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ