0

のようなキャラクターを持っています。

- 

また

 

数字の 45 は Unicode 番号「#」です。「32」は単純なスペースです。しかし、これは、いくつかの非常に特別な特殊文字の「2123」のような数字でも可能でなければなりません。

ここで、PHP でこの文字を単純にデコードしたいと思います。私の最初の試みは使用することでした:

htmlspecialchars_decode();

ただし、これは「#」では機能せず、「ö」や「Ä」などの特殊文字に対してのみ機能します。

私の場合 (組み込みの php 関数がない場合) に新しい関数を作成しても問題ありませんが、NCHAR() や UNICODE() などの mssql サーバー関数に相当する関数を見つけることができませんでした。文字の Unicode 番号を返すだけで、その逆も同様です。

ありがとうございました :)

4

1 に答える 1

2

あなたが見つけた動作は、まさに文書化されているものです:

この関数はhtmlspecialchars()の反対です。特別な HTML エンティティを文字に変換 します。

変換されるエンティティは&、 、"(がENT_NOQUOTES設定されていない場合)、'(ENT_QUOTESが設定されている場合)、<および>

他の関連する関数が必要なので、ドキュメントを参照セクションまでスクロールし、 html_entity_decode()を見つけます。

すべての HTML エンティティを適用可能な文字に変換する

var_dump( htmlspecialchars_decode('- ') );
var_dump( html_entity_decode('- ') );
string(10) "- "
string(2) "- "
于 2013-09-06T07:39:50.070 に答える