Есть ли способ получить нечистое содержимое из поля закрытия Google? - PullRequest
2 голосов
/ 18 октября 2011

У меня есть текстовый редактор, который предоставляет как исходный код, так и текстовый редактор.Допустим, у меня есть следующее в моей текстовой области

<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"
...