phpについて


ズバリ
$str = 'シャ';

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

よろしくお願いします

回答の条件
  • 1人2回まで
  • 登録:2007/07/19 07:40:19
  • 終了:2007/07/19 10:44:45

ベストアンサー

id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/07/19 10:21:23

ポイント78pt
$str = 'シャ';
echo mb_convert_encoding(preg_replace('/(?<=&#)x([\da-f]+)(?=;)/ie', 'hexdec("$1")', $str), 'euc-jp', 'HTML-ENTITIES') ;

これではどうでしょう。


PHP: mb_convert_encoding - Manual

id:worldtravel

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

できました。

助かりました。

2007/07/19 10:43:45

その他の回答(2件)

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582007/07/19 08:23:47

ポイント1pt
$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

id:worldtravel

すいません。

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

&#x30B7;&#x30E3;のまま表示されてしまいます。

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

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

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

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

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

2007/07/19 08:54:04
id:tezcello No.2

tezcello回答回数460ベストアンサー獲得回数692007/07/19 08:26:33

ポイント1pt

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

例えば

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

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

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

id:worldtravel

すいません。

こうした場合でいうと、

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

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

2007/07/19 08:48:09
id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/07/19 10:21:23ここでベストアンサー

ポイント78pt
$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

id:worldtravel

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

できました。

助かりました。

2007/07/19 10:43:45

コメントはまだありません

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません