質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

718閲覧

switcdで繁体語を呼び出したいのに簡体語が呼び出されてしまう。

mosrite

総合スコア10

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

0クリップ

投稿2019/04/03 07:21

前提・実現したいこと

多国籍言語のWebページを制作しています。
以下のソースで各ページを呼び出したいのに簡体語が呼び出されてしまいます。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

<?php /** * htmlの国コードを取得する * urlのlangの問い合わせ文字列があればそれを返し * 無い場合はブラウザの優先言語を取得する * それもない場合は「ja」を返す * @return string 言語の文字列 */ function getLang() { $lang = isset($_GET['lang']) ? $_GET['lang'] : ''; if ($lang == '') { $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } switch($lang){ case "zh": case "zh-tw": case "en": case "ko": case "th": break; default: $lang = 'ja'; } return $lang; } ### 試したこと $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); と case "zh-tw": この関係なのかとは思いますが、コードの間違いがあるでしょうか。 ### 補足情報(FW/ツールのバージョンなど) PHPのバージョンは7.2です。 ご教授をお願いします。
yuusukk👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/04/03 07:25

コードはマークダウンのcode機能を利用してご提示ください
guest

回答2

0

自己解決

以下の方法で解決できました。
ありがとうございました。

function

1 $lang = isset($_GET['lang']) ? $_GET['lang'] : ''; 2 if ($lang == '') { 3 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 4 } 5 6 switch($lang){ 7 case "ja": 8 case "en": 9 case "ko": 10 case "th": 11 break; 12 default: 13 $lang = 'ja'; 14 15 $lang = isset($_GET['lang']) ? $_GET['lang'] : ''; 16 if ($lang == '') { 17 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5); 18 } 19 20 switch($lang){ 21 22 case "zh-CN": 23 case "zh-TW": 24 break; 25 } 26 } 27 return $lang; 28} 29

投稿2019/04/04 06:11

mosrite

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

substrで2文字だけ切り出しているので、zh-twというパラメータであっても、ハイフン以後が無視されます

投稿2019/04/03 07:24

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問