Sie sind nicht angemeldet.

1

Donnerstag, 11. Februar 2021, 10:21

Parsing special characters as string

Hi, I want to get out a string with special characters, for example

Quellcode

1
trace('<krpano>');

But then I get an error: xml parsing failed.
Is there a workaround to parse special characters like this:

Quellcode

1
2
3
4
trace('&lt;krpano&gt;'); 
trace(&lt;krpano&gt;); 
trace(%3C,'krpano',%3E); 
trace(converthtml('&lt;'));

Any idea?
Thanks.

3

Donnerstag, 11. Februar 2021, 18:53

Sehr gut, danke für den Tipp! Das habe ich prinzipiell probiert, aber der folgende Code wird nicht korrekt übersetzt:

Quellcode

1
trace('&lt;krpano&gt;');

Hier wird dann immer noch &lt;krpano&gt; statt <krpano> ausgegeben.
Dein Hinweis hat mich aber nochmal darauf gebracht, das über einen Umweg zu lösen:

Quellcode

1
2
3
4
5
6
7
8
<layer name="lt" html="&lt;" visible="false" />	
<layer name="gt" html="&gt;" visible="false" />

set(var_text, get(layer[lt].html));
txtadd(var_text, 'krpano');
txtadd(var_text, get(layer[br].html));

trace(get(var_text));

Das läuft nun soweit. Wobei das doch sicher eleganter geht, als zwei Layers zweckzuentfremden und das durch eine Variable zu wurschteln. Evtl über ein gethtml() oder gettext() oder sowas ...

Perfekt wäre es jetzt noch, wenn er den Umbruch als Zeichen entsprechend interpretieren würde. Entsprechend meiner Pfusch-Lösung wäre das dann wie folgt - funktioniert aber leider noch nicht richtig:

Quellcode

1
2
<layer name="br" html="&#13;" visible="false" />
<layer name="br" html="[br]" visible="false" />

*g*

toosten

Fortgeschrittener

Beiträge: 521

Wohnort: Berlin

Beruf: Software-Entwickler bei VR-Easy ( HTML, JS, PHP, krpano, C++, Java )

  • Nachricht senden

4

Freitag, 12. Februar 2021, 12:01

<action name="test"><![CDATA[
trace('<krpano>');
]]></action>

5

Montag, 15. Februar 2021, 19:52

Perfekt. Vielen Dank! *thumbsup*