1

私は、正規表現を使用してチャットで絵文字の検索/置換を行うコードに取り組んでいます。ただし、同じ値の配列を使用して参照として出力したい。

正規表現は私の検索では問題なく機能しますが、正規表現検索文字列を出力する前に置換しようとすると、まだスラッシュになってしまいます。

:\)
:\(

var emotes = [];
emotes[0] = new Array(':\\\)', 'happy.png');
emotes[1] = new Array(':\\\(', 'sad.png');

function listEmotes(){
    var emotestext = '';
    for(var i = 0; i < emotes.length; i++){

        //Tried this and it doesn't seem to work
        //var emote = emotes[i][0];
        //emote.replace('\\', '');

        emotestext += '<ul>' + emote + ' <img src="emotes/' + emotes[i][1] + '"></ul>';
    }

    return emotestext;
}
4

1 に答える 1

3

あなたの問題はstr.replace、元の変数を変更せず、代わりに新しい変数を返すことです。これを試してください:

var emotes = [
    [':\\\)', 'happy.png'],
    [':\\\(', 'sad.png']
];

function listEmotes(){
    var emotestext = '';
    for(var i = 0; i < emotes.length; i++){
        var emote = emotes[i][0].replace('\\', ''); // See what I did here?

        emotestext += '<ul>' + emote + ' <img src="emotes/' + emotes[i][1] + '"></ul>';
    }

    return emotestext;
}
于 2010-09-05T18:46:00.060 に答える