Зря думаете, что я не перечитывал это
Шутите? За деньги?
Сообщение от x-yuri
|
если бы ты их знал, было бы наоборот
|
Я и говорю, форумы локально я ставил. Как ExBB...
И изучал исходники с регулярками. Но понял, что ничего не понял
Почему-то сложно всё это... Вот последняя версия, где регулярности я могу изменять на ходу. Но и это не помогает:
<html><head><title>Parser is easy!</title><script>
function Parse(text) {
html = new Array();
rgl = /(•*)(([^•"']|("|')[^\4]*\4)*)(.*)/;
exp = document.getElementsByTagName("input")[0];
if(!exp.value)
exp.value = "(•*)(([^•\"']|(\"|')([^\\4][^\\\\\\4])*?\\4)*)(.*)";
//(•*)(([^•"']|("|')([^\4][^\\\4])*?\4)*)(.*)
try {
expr = new RegExp(exp.value);
line = expr.exec(text);
for(i = 0; i < line.length; ++ i)
switch(i) {
case 0: case 3: case 4: // "Лишние" элементы зачёркиваем, делая тусклыми
html.push(line[i].strike().fontcolor("gray"));
break;
case 2: // Основное выражение выделяем
html.push(line[i].bold());
break;
case 5: // Зелёный комментарий курсивом
html.push(line[i].italics().fontcolor("green"));
break;
default:
html.push(line[i]);
break;
}
}
catch(e) {
html.push("i = " + i + " is " + e);
}
document.getElementsByTagName("pre")[0].innerHTML = html.join("<br/>");
}
</script></head>
<body>
<textarea rows="12" cols="80" onkeyup="Parse(this.value)">•••txt = "Te\"xt•1" + 'T\'ext•2' • Commentary's</textarea><br/>
<input type=text style="width: 50%" value="" onkeyup="Parse(document.getElementsByTagName('textarea')[0].value)"/>
<pre></pre>
</body>
</html>