На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Траблы с replace() , JavaScript
    Задача: заменить все [br] на \n
    Вот код, который это должен делать:
    [html]
    <input type="button" onclick="document.getElementById('answers[1]').value='Фильм: Затоичи[br]Сеансы: 9:00, 10:00, 11:00, 12:00[br]'.replace('[br]', '\n');" value="Вставить расписание на сегодня" class="button3"/>
    [/html]
    Трабла: заменяется только первое вхождение.
    Вопрос: кто виноват и что делать? ;)
      replace заменяет токо первое вхождение строки в подстроку, но если первый аргумент - жадный регЕксп то заменяються все вхождения:
      ExpandedWrap disabled
        document.getElementById('answers[1]').value='Фильм: Затоичи[br]Сеансы: 9:00, 10:00, 11:00, 12:00[br]'.replace(/\[br\]/g, '\n');
        Сенкс. А я тут уже свою ф-цию strtr() написал, как в РНР ;)
        ExpandedWrap disabled
           
          function strtr(str, what, _with) {
              var temp = '';
              if (typeof(_with) != 'undefined')
              {
                  var t = what;
                  var what = new Array();
                  what[t] = _with;
              }//if
              
              for (var _what in what)
              {
                  temp = '';
                  for (var i = 0; i < str.length; i++)
                  {
                      var sub = str.substr(i, _what.length);
                      if (typeof(what[sub]) != 'undefined')
                      {
                          temp += what[sub];
                          i += _what.length - 1;
                      }//if
                      else {
                          temp += str.charAt(i);
                      }//else
                  }//for
                  str = temp;
              }//for
              
              return temp;
          }//function


        Работает медленно, но верно. В последнее хочется искренне верить;)
        Сообщение отредактировано: Rom@nych -
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0243 ]   [ 15 queries used ]   [ Generated: 23.04.24, 07:39 GMT ]