4

キャンバスに表示する必要のある画像/キャプションデータを格納するxmlファイルを解析しています。ただし、ファイルにエンティティが含まれている場合があり、テキストをキャンバスに描画すると、フラットテキストとして解釈されます。©キャンバスに©として表示するにはどうすればよいですか?これも可能ですか、それとも誰かが良い回避策を知っていますか?

4

3 に答える 3

5

HTML エンティティを同等の Unicode 文字に置き換えることができます。

例えば

var x = 'This is © 2010';
x = x.replace( /©/, '\u00A9' ); // x is now 'This is © 2010'
于 2010-06-10T16:31:51.757 に答える
1

また、すべての HTML エンティティが 16 進値を持つことに注意してください。

たとえば、℃の Hex 値が「2103」の場合、「\u2103」に変換してキャンバス コードに追加できます。

    <canvas id='my-canvas'></canvas>
    <script>
    var c = document.getElementById("my-canvas");  
    var ctx = c.getContext("2d");
    ctx.strokeText("170 \u2103", 25, 50);
    ctx.stroke();
    </script>
于 2018-04-26T13:42:08.627 に答える