captFuture
I'm new here

replaceAll benutzen um hochkommas zu filtern

Hallo :smileygrin:

Ich versuche gerade aus einer Datenquelle valide Json files zu generieren die in einzelnen eingabekomponenten CMS_INPUT_DOM verwenden und dort können auch links angelegt sein. beim lesen der dateien stört sich javascript natürlich an den hochkommas und umbrüchen im inhalt.

Die Umbrüche entferne ich mit CMS_TRIM, aber bei den Hochkommas bin ich ratlos weil die syntax nicht akzeptiert wird.

Mein Beispiel:

$CMS_IF(#cs.isFirstContentRow)${"addon":[ {

$CMS_ELSE$

{

$CMS_END_IF$

"name":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.name.replaceAll("", ""), default:"")$$CMS_END_TRIM$",

"item_id":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.ITEM_ID, default:"")$$CMS_END_TRIM$",

"shortdesc":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.shortdesc.replaceAll("", ""), default:"")$$CMS_END_TRIM$",

"longdesc":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.longdesc.replaceAll("", ""), default:"")$$CMS_END_TRIM$"

$CMS_IF(!#cs.isLastContentRow)$

},

$CMS_ELSE$

]}}

$CMS_END_IF$

Meine Vermutung war dass #row.name.replaceAll("\"", "\\"") funktionieren würde um aus einem " ein \" zu machen, dem ist aber leider nicht so.

Selbst bei einem funktionierenden replacing von beispielsweise #row.name.replaceAll(" ", "-") ist die ausgabe plötzlich leer was aber nur bei INPUT_DOM passiert -> der name ist beispielsweise ein INPUT_TEXT und da funktioniert das testreplacing

Bitte um Hilfe

LG Chris

11 Replies

Ich stand mal selber vor dem Problem, bei mir funktioniert:

$CMS_VALUE(tmpshort.toString.replaceAll("\"","\\\\\""))$

das ist "ein" Test =>  das ist \"ein\" Test

Das funktioniert bei mir auch :smileygrin: danke!

0 Kudos