Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2015, 18:29
Новичок на форуме
Отправить личное сообщение для fasady Посмотреть профиль Найти все сообщения от fasady
 
Регистрация: 03.04.2015
Сообщений: 2

помогите НЕумехе найти ошибку (ПЛЫЗ)
Функция должна находить "код смайлика :-)" в тексте и заменять на его изображение

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, 06.04.2015 в 19:16.
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2015, 18:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2015, 19:21
Новичок на форуме
Отправить личное сообщение для fasady Посмотреть профиль Найти все сообщения от fasady
 
Регистрация: 03.04.2015
Сообщений: 2

Большое спасибо!!!!! Хорошего вам вечера!!!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в вёрстке OlegALL (X)HTML/CSS 1 03.02.2014 11:58
Помогите найти ошибку в простом скрипет Mekasan Общие вопросы Javascript 3 05.08.2013 12:02
Помогите найти ошибку в скрипте alex2396242 Ваши сайты и скрипты 2 17.06.2013 00:51
выбрать и изменить стиль элемента. Помогите найти ошибку nabiullin11 Элементы интерфейса 16 02.09.2011 11:23
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37