arr.length % 2 === 0
? deleni je pomala operace. Nebylo by rychlejsi porovnat to zrovna s 2 ?
arr.length == 2
A tez si nejsem jisty, zda .split(";") neskonci errorem, pokud ve stringu neni strednik. Ale mozna ne.
arr.length % 2 === 0
? deleni je pomala operace. Nebylo by rychlejsi porovnat to zrovna s 2 ?
arr.length == 2
A tez si nejsem jisty, zda .split(";") neskonci errorem, pokud ve stringu neni strednik. Ale mozna ne.
1. Pro parsovani naprosto nutne potrebujes skutecny parser, ktery umi spravne resit uvozovky a v uvozovkach komentare ci jine veci.
2. // , # v css nepouzivam, takze nemuzu rici, zda je takovy zapis povoleny. Kazdopadne by se ti to mohlo pobit u odstranovani komentaru /**/ a //
# non-greedy (to nevim, co je)
#non-greedy ale takhle je to <div id="non-greedy">...
3. Parse je klicove slovo preddefinovane funkce.
4. konzola mi rve, ze neexistuje index 1, proc to asi dela? Zkusil jsi si to vyalernovat, co je ve ktere promenne nez to zarve? treba prazdny retezec se dost spatne splituje :)
<textarea id="css" rows=100, cols=30>
/*
css rules
*/
body { color:black;}
div, p { color:blue; background-color:white; }
form, form p { width:500px; }
# non-greedy
// anything
</textarea>
<script>
function xparse(){
var src = document.getElementById("css").value;
var arr = [];
var arr1 = [];
var arr2 = [];
var lines = src
.replace(/(?:^#|\/\/).*/mg,"")
.replace(/[\r|\n]/g,"")
.replace(/\/\*.*\*\/\s?/g,"")
.split("}");
alert(lines)
for ( var i = 0; i<lines.length; i++ )
{
if (lines[i]!=='')
{
arr = lines[i].split("{")
arr1.push(arr[0].trim())
arr2.push(arr[1].trim())
}
}
alert(arr1.join("\n"));
alert(arr2.join("\n"));
console.log(arr);
}
xparse();
</script>
Smazat vsechna data, presmerovat na jinou stranku?