помогите НЕумехе найти ошибку (ПЛЫЗ)
Функция должна находить "код смайлика :-)" в тексте и заменять на его изображение :)
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 :-) '); что я делаю не так??? Большое спасибо-добрые люди! |
fasady,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. <script type="text/javascript"> 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' },metachars = /([[\]{}()*+?.\\|^$\-,&#\s])/g; for (var i in emoticons) { var reg = new RegExp(i.replace(metachars, '\\$1') , 'g'); text = text.replace(reg, ' <img src="'+emoticons[i]+'"/> ') } return text } </script> <div id="box1"> <p><script type="text/javascript">alert(replaceEmoticons(' test :-) ')); </script></p> </div> |
Большое спасибо!!!!! Хорошего вам вечера!!!!!
|
Часовой пояс GMT +3, время: 17:22. |