Проблема в руках так скажем. Первый день за javascript =) Делаю модуль для сайта - подсветка кода. Всё работает за исключением этого проблемного куска:
...
data = code_block[i].innerHTML;
...
//Обрабатываем строки
data = data.replace(/(['`].*['`])/gi,'<span class="strings">$1</span>');
//Комментарии
data = data.replace(/(\/\*.*\*\/)/gi,'<span class="comments">$1</span>');
...
code_block[i].innerHTML = data;
...
Фрагмент кода на странице:
/*Комментарий*/;
'строка';
/*Коментарий*/'и строка';
/* ' Комментарий*/'и строка =(';
Результат:
http://javascript.ru/forum/attachmen...1&d=1297786989
4-ая строка должна быть как 3-яя, не пойму как исправлять.
И ещё вопрос тудаже: как подсветить комментарии в несколько строк? Пример:
/* Комент
Комент
Комент */
Пробовал в параметрах replase ставить /m , но не помогло...пробовал вначале обработки переводить всё в 1 строку (заменять переносы на другой символ), обрабатывать и потом восстанавливать...но как-то тоже криво было...
Буду рад советам и любым ответам. Спасибо.