Прошу помочь и объяснить, как можно экранировать специальные символы в строке JS.
Пример текста: asda asd adasd da "da a sdas a'sadasdasdas+asdadasasd/asdasdasdadsa
Я роюсь в интернете и не могу найти готовую функцию для этого. Это очень странно, по идее, для экранирования или преобразования этих символов должна быть готовая функция.
А я нахожу какие-то статьи и форумы, где предлагают разбивать строку и прогонять через цикл для поиска и замены (экранирования) всех символов. Поясните, почему так.
А если и так, то как можно сделать так, чтобы составить свой массив спецсимволов, которые подлежат замене в строке?
В некоторых материалах видел отсылки к тому, что мол: "такая-то бибилиотека умеет это делать." Ок. Тут вопрос, почему язык в базе своей такое не умеет и/или я что-то упускаю и фундаментально не понимаю.
Прошу провести ликбез.
Причина, по которой вы не можете найти готовую встроенную функцию, связана с тем, что в зависимости от задачи вам может понадобиться экранирование для разных контекстов (HTML, JSON, регулярные выражения и т.д.), и язык не может предугадать ваши потребности.
Cуществуют библиотеки, которые предоставляют такие функции. Например, библиотеки lodash или underscore.js содержат утилиты для экранирования строк, а также для работы с различными контекстами (например, HTML или шаблонизаторы).
Если вам нужно экранирование для конкретного контекста, стоит воспользоваться специализированной библиотекой или написать свою функцию