У меня есть текстовый редактор, который предоставляет как исходный код, так и текстовый редактор.Допустим, у меня есть следующее в моей текстовой области
<p>A Paragraph</p>
<script type="text/javascript">
$$('.a-class');
</script>
Я успешно могу сохранить этот текст в RTE, хотя, если я пытаюсь извлечь эти данные из него (вызывая Field.getCleanContents ()) это приводит к следующему
<p>A Paragraph</p>
<script type="text/javascript">
$('.a-class');
</script>
Итак, мне интересно, есть ли простой способ предотвратить закрытие замыкания этим дополнительным символом '$'.
Обновление
После копания в коде я обнаружил, что происходит string.replace, и что-то немного подлое в функции Javascript string.replace при использовании двойного доллара
"foo bar baz".replace("bar", "$$fancy")
> "foo $fancy baz"
Способ, которым я обошел это, заключался в том, чтобы эффективно разрезать строку и вернуть из нее новую строку.
function glue(msg, old, replacement){
var oldIndex = msg.indexOf(old);
var prefix = msg.substr(0, oldIndex);
var suffix = msg.substr(oldIndex + old.length);
return prefix + replacement + suffix;
}
glue("foo bar baz", "bar", "$$fancy");
> "foo $$fancy baz"