Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не срабатывает replace (https://javascript.ru/forum/css-html/17066-ne-srabatyvaet-replace.html)

Joshka 04.05.2011 19:03

Не срабатывает replace
 
Помогите пожалуйста, у меня есть код который должен подсвечивать коментарии в коде, но почему то не работает, что не так?
<script type="text/javascript">
function sc()
{
var text = document.getElementById('jhg');
var wwe = text.value.replace(/\/\*/g,'<span id="comments">/*');
wwe = wwe.replace(/\*\//g,'*/</span>');
jhg.innerHTML = wwe;
}
</script>
  <div onkeyup="sc()" id='jhg' contentEditable="true" >
</div>

walik 04.05.2011 19:18

не text.value, а text.innerHTML

не jhg.innerHTML = wwe, а text.innerHTML = wwe

Но у вас будет еще проблема, он постоянно будет /* ... */ закидывать в span'ы, даже если они уже находятся в span'e

Joshka 04.05.2011 20:09

Да.. с этим немного проблемно, буду сейчас мучить код)))

Joshka 05.05.2011 21:47

Помогите пожалуйста еще с одним кодом:
text.value.replace(/\/\/.+?\n/g, '<span id="comments">//</span><br>');

Он подсвечивает коментарий типа //Любой текст , проблема в том что он вырезает текст и оставляет только //, как сделать так чтобы текст тоже был виден?

Sweet 05.05.2011 22:02

'// some text'.replace(/\/\/.+?\n/g, '<span id="comments">$1</span><br>');

Joshka 05.05.2011 22:05

Он мне выдает $1 ..

рони 05.05.2011 22:16

Joshka,
alert('// some text'.replace(/\/\/(.+?)$/g, '<span id="comments">$1</span><br>'));

Joshka 05.05.2011 22:23

А у меня не пашет (((
function schet()
{
var text = document.getElementById('text');
var wwe = text.value.replace(/\/\/.+?\n/g, '<span id="comments">$1</span><br>');
wwe = wwe.replace(/\n/g,'<br>');
divx.innerHTML = wwe;
}

Sweet 05.05.2011 22:50

Обшибся я:) Сделай так:
.replace(/\/\/.+?\n/g, '<span id="comments">$&</span><br>');

И еще, "comments" должен быть не id, а class, потому что id должен быть уникальным.

Joshka 05.05.2011 22:54

Урааа спасибо большое, а где вы такое нарыли? Я уже все сайты перерыл с описанием этой функции, а на счет id, мне с ними удобнее


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