Показать сообщение отдельно
  #1 (permalink)  
Старый 15.02.2011, 19:33
Интересующийся
Отправить личное сообщение для lynch1 Посмотреть профиль Найти все сообщения от lynch1
 
Регистрация: 15.02.2011
Сообщений: 11

Рег.выражения, подсветка кода
Проблема в руках так скажем. Первый день за 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 строку (заменять переносы на другой символ), обрабатывать и потом восстанавливать...но как-то тоже криво было...

Буду рад советам и любым ответам. Спасибо.
Изображения:
Тип файла: png 15.02.png (3.0 Кб, 7 просмотров)
Ответить с цитированием