Autor | Zpráva | ||
---|---|---|---|
Sniclman Profil * |
#1 · Zasláno: 2. 11. 2012, 10:38:36 · Upravil/a: Moderátor (editace znemožněna) 2. 11. 2012, 15:19:21
Dobrý den,
mám následující kód: function tags_replacer(string){ var RegEx = new RegExp("\\[i\\]([^(HYK)]*)\\[/i\\]", "g"); string = string.replace(RegEx, "<h1>$1</h1>"); return string;} var text = "text bla noHXKn-a text2[/i]"; document.write(tags_replacer(text)); Chtěl bych aby javascript vyhledal všechny znaky od \\[i\\] po \\[/i\\] které neobsahují celé slovo HYK. Javascript ale vyhledává jakýkoliv samostatný znak H,Y nebo K. Můžete mi prosím poradit? |
||
peta Profil |
#2 · Zasláno: 2. 11. 2012, 13:42:30
[HYK] - toto je vyhledat jeden ze znaku v zavorce
HYK - toto je vyhledat znaky po sobe [^HYK] - negace 1 callback funkce - negace2 <script> function replace_callback(param0, param1) { reg = /HYK/g; if (param1.match(reg)) { return param0; } return '<h1>'+param1+'<\/h1>'; } var reg, str; reg = new RegExp('\\[i\\](.*?)\\[\\/i\\]', 'g'); str = ''; str += "[i]text bla noHXKn-a text2[\/i]"; str += "[i]text bla noHYKn-a text2[\/i]"; str = str.replace(reg, replace_callback); alert(str); </script> |
||
Sniclman Profil * |
#3 · Zasláno: 2. 11. 2012, 14:05:13 · Upravil/a: Sniclman
Děkuju,
tak ve výsledku mě stačí reg = new RegExp('\\[i\\](.*?)\\[\\/i\\]', 'g'); str = 'text 1 text 2[/i] text 3'; str = str.replace(reg, "<i>$1</i>"); document.write(str); str = '[ i ]text 1[ / i ] text 2[ / i ] [ i ]text 3[ / i ]'; |
||
Časová prodleva: 11 let
|
0