никак не получается составить регулярное выражение.
на входе есть какой-то текст с вкраплениями тегов и спец-символов. Что-то вроде:
какойтотекст текст<div>фывап</div><div>уцекен &вапапв</div><div></div>блаблабла
Задача: заменить на хекс-коды все символы которые лежат за пределами тегов и не являются спец-символами
Регулярка для выбора тегов и спецсимволов простая: /<[^<]+>|&[^&]+;/g но ведь нужно то как раз наоборот
а вот это уже никак не получается...
кое-как удалось добиться выборки текста за пределами тегов: /(?!>).(?=([^>]*<))/g но как при этом еще игнорировать спец-символы? да еще и текст за пределами крайнего правого тега не попадает в результат.
бьюсь над проблемой уже третий день. Похоже придется отказаться от регулярки и перебирать строку простым способом... а как было бы здорово..
text.replace(/супервыражение/g, function(char) {
var code = char.charCodeAt(0);
return '&#x' + code.toString(16) + ';';
});