Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Криво работает функция replace (https://javascript.ru/forum/css-html/17251-krivo-rabotaet-funkciya-replace.html)

Joshka 12.05.2011 11:51

Криво работает функция replace
 
Здравствуйте, помогите пожалуйста, у меня как то криво работает код:
//Заменяем пробелы
wwe = wwe.replace(/ /g,' ');
//Закоментируем все html
wwe = wwe.replace(/</g,"&lt;");
wwe = wwe.replace(/>/g,"&gt;");
// Изменяем цвет строчных коментариев
wwe = wwe.replace(/\/\/.+?\n/g,"<span id='comment'>$&</span>");
// Изменяем цвет многострочных коментариев
wwe = wwe.replace(/\/\*/g,'<span id="comment">/*');
wwe = wwe.replace(/\*\//g,'*/</span>');
//Заменяем /n на <br>
wwe = wwe.replace(/\n/g,'<br>');

Многострочные коментарии нормально заменяет, все работает отлично кроме однострочных коментариев, он их просто не хочет изменять

Skipp 12.05.2011 12:27

в круглые скобки возьмите

Joshka 12.05.2011 12:42

что именно в скобки взять?

Skipp 12.05.2011 12:54

wwe = "текс текс текс //коментарии\n  текст текс текс текс //коментарии\n  текст текс текс текс //коментарии\n  текст ";

wwe = wwe.replace(/\/\/.+?\n/g,"<span id='comment'>$&</span>");
alert(wwe);

а я чёт не пойму что именно не работает?

Sweet 12.05.2011 13:14

Цитата:

Сообщение от Joshka
Криво работает функция replace

Не нужно гнать на функцию, она нормально работает. Это ты ее криво используешь. Это большая разница! В частности, неправильно написана регулярка: Вот это ?\n - явно лишнее. Точка и так будет искать до перевода строки, т.к. означает любой символ, кроме перевода строки. А ты зачем-то включаешь его в комментарий:
wwe = "текс текс текс //коментарии\n  текст текс текс текс //коментарии\n  текст текс текс текс //коментарии\n  текст ";

wwe = wwe.replace(/\/\/.+/g,"<span id='comment'>$&</span>");
alert(wwe);
И хватит уже творить зло по id'шнику!!!

Joshka 12.05.2011 13:33

Sweet, спасибо большое

Joshka 12.05.2011 17:26

Цитата:

И хватит уже творить зло по id'шнику!!!
А что я плохого делаю?

Sweet 12.05.2011 18:11

В документе id'шник должен быть уникальным. Используй class. А то потом будет темы типа "Криво работает getElementById".

Joshka 12.05.2011 20:32

А id у меня уникальный.. это я переменную мучаю так..


Часовой пояс GMT +3, время: 16:14.