Функция должна находить "код смайлика :-)" в тексте и заменять на его изображение
function replaceEmoticons(text) {
var emoticons = {
' :-) ' : 'smail/smaile.png',
' :-( ' : 'smail/sed.png',
' :-D ' : 'smail/Lauch.png',
' :o ' : 'smail/surprised.png',
' ;( ' : 'smail/crying.png',
' (giggle) ' : 'smail/giggle.png'
}, patterns = [],
metachars = /[[\]{}()*+?.\\|^$\-,&#\s]/g;
for (var i in emoticons) {
if (emoticons.hasOwnProperty(i)){ // избежать метасимволы
patterns.push('('+i.replace(metachars, "\\$&")+')');
}
}
return text.replace(new RegExp(patterns.join('|'),'g'),
function (match) {
return typeof emoticons[match] !== 'undefined' ?
'<img src="'+emoticons[match]+'"/>' :
match;
});
}
replaceEmoticons(' test :-) ');
что я делаю не так???
Большое спасибо-добрые люди!