Autor Zpráva
Sniclman
Profil *
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
[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 *
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 ]';

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: