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

phpについて

ズバリ
$str = 'シャ';

を「シャ」と表示するコードを教えてください。

よろしくお願いします


●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP STR コード ズバリ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● GEN111
●1ポイント
$str = 'シャ';
echo html_entity_decode($str, ENT_COMPAT, 'UTF-8') ;

表示する文書の文字セットが UTF-8 以外の場合は

$str = 'シャ';
echo mb_convert_encoding(html_entity_decode($str, ENT_COMPAT, 'UTF-8'), 'EUC-JP', 'UTF-8') ;

とかにしてください。


PHP: html_entity_decode - Manual

◎質問者からの返答

すいません。

マニュアルも見たのですがどうしてもダメでした。

シャのまま表示されてしまいます。

何か原因は考えられますでしょうか?

ちなみにコード自体はEUCで書いています。

(&は全角にしています)

私の書き方が悪いかもしれません。

仮にファイルに保存したときに「シャ」と保存されるようにしたいという事です。


2 ● tezcello
●1ポイント

何も考えず、単純に出力するだけでよいと思いますが?

例えば

$str = 'シャ';
print <<<EOL
<html>
<head>
<title>テスト</title>
</head>
<body>
$str
</body>
</html>

回答受付中もコメントがつけられるようにしていただけるとキチンとフォローできるのでありがたいのですか。

http://q.hatena.ne.jp/1184798419

◎質問者からの返答

すいません。

こうした場合でいうと、

ブラウザでソースを見たとき「&#x30B7;&#x30E3;」ではなく、

「シャ」と見えるようにしたいという事です。


3 ● GEN111
●78ポイント ベストアンサー
$str = '&#x30B7;&#x30E3;';
echo mb_convert_encoding(preg_replace('/(?<=&#)x([\da-f]+)(?=;)/ie', 'hexdec("$1")', $str), 'euc-jp', 'HTML-ENTITIES') ;

これではどうでしょう。


PHP: mb_convert_encoding - Manual

◎質問者からの返答

ありがとうございました。

できました。

助かりました。

関連質問


●質問をもっと探す●



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