Для простоты и изучения чего-то нового, пожалуйста, не предлагайте использовать две отдельные функции замены.Я знаю, что это вариант, но я бы предпочел также знать, как это сделать (или, если это невозможно).
'<test></test>'.replace(/<|>/g,'$&'.charCodeAt(0))
Это то, что я получил до сих пор.Этот пример кода, как вы можете сказать, предназначен для другого фрагмента кода, который экранирует сущности HTML, все еще используя innerHTML (потому что я намерен включить несколько сущностей HTML, таких как небольшие изображения, поэтому, опять же, не предлагайте textContent
).
Поскольку я пытаюсь заменить и <
, и >
, проблема заключается в преобразовании каждого из них в соответствующие им коды символов.Поскольку регулярные выражения допускают это условие «ИЛИ», а также обратные ссылки на каждое из них, я надеюсь, что есть способ получить ссылку на каждый отдельный символ по мере его замены.$&
вернет <><>
(потому что они заменяются в таком порядке), но я не знаю, как получить их, когда они заменены, и взять их коды символов для сущностей HTML.Проблема в том, что я не знаю, что использовать в этом случае, если что-нибудь.
Если это объяснение не было достаточно ясным, я хочу, чтобы оно было примерно таким (и это, очевидно, не сработает)лучше всего передать то, что я имею в виду):
Предполагая x
- индекс заменяемого символа,
'<test></test>'.replace(/<|>/g,'$&'.charCodeAt(x))
Надеюсь, это имеет больше смысла.Итак, возможно ли это как-то?