Доброго всем времени суток!
Есть небольшая задачка, сделать подсветку синтаксиса кода на странице.
Есть массив зарезервированных слов, которые должны подсвечиваться в тексте.
скрипт проходит по этому массиву примерно так:
for (var k in words) {
text = replaceAll(text, words[k]);
}
Внутри функции replaceAll тоже всё просто
tempString = string.replace(new RegExp(word, 'g'), '<span class="codeword">'+word+'</span>');
Так вот тут возникает проблемка, если среди зарезервированных слов встречается, к примеру слово
class, то оно учитывается и внутри тегов и тег
<span class="codeword">
превращается в
<span <span class="codeword">class="codeword">
Прошу подсказать, как реализовать замену всего этого добра исключая теги. То есть смотреть текст только между тегами.
Я понимаю, что нужно составить регулярное выражение, наверное, что-то из цикла:
replace(/>([^"]+)</g, '>$1<');
только вот мне куда-то сюда ещё нужно вместить значение моей переменной
word.
И тогда ещё встанет вопрос, а как же быть, если тегов нет вовсе...
Я честно говоря, плохо разбираюсь в регулярных выражениях в принципе. Прошу подсказки.
Заранее благодарю!