Замена символов в строке на JS

Браузер - не браузер, браузер - интерпретатор
Аватара пользователя
yurecnt
Администратор
Сообщения: 135
Зарегистрирован: 17 дек 2014, 14:02
Откуда: Нижий Тагил
Контактная информация:

Замена символов в строке на JS

Сообщение yurecnt » 16 фев 2015, 14:36

Добрый день. вот... решил через Ajax сохранить код в MySQL, но.... строка обрезается....
Делаю как то так:

Код: Выделить всё

//Сохраняем платежные реквизиты
$("#edit_pay").submit(function(event){
      var alt_sposob=$("[name=alt_sposob]").val();
alert(alt_sposob);//Для отладки
      $.ajax({
            type: "POST",
            url: $(this).attr('action'),
            data: "alt_sposob=" + alt_sposob,
            success: function(d){
                  if (d.length>3) {
                     alert(d);//Для отладки
                        $("#res_save_data").html('<span class=span_res>Сохранено</span>');
                  }
            }
      })
      return false;
})

Но.. на первом вхождении символа & строка обрезается, видимо - данный формат запроса его не поддерживает
Первое вхождение отладки - показывает что строка есть полностью, вторая - ответ сервера - строка обрезана до первого символа &
То есть обработка строки простейшей функцией на пхп не годится, так как передается уже обрезанная строка...

Так вот, задачка выпала не из легких.... заменить все символы & на &amp;

Нагуглил.... такую шнягу.... http://javascript.ru/php/str_replace
мне она понравилось простотой юзабелити.... но... строку (в частности код сбора средств) я попытался обработать - в итоге браузер повис навсегда.....

Вопрос.... Вопрос такой - есть ли аналог, что работает с такой же юзабельностью:

Код: Выделить всё

alt_sposob=str_replace('&', '&amp;', alt_sposob);


Но... менее ресурсо-прожорливое... хотя, не исключаю, что в этом коде есть баг с бесконечным циклом....


Аналог этой функции на пхп:

Код: Выделить всё

      function replacer_param ($text) {
            $old1 = array('&', '>');
            $new1   = array('&amp;', '<');
            $text = str_replace($old1, $new1, $text);
            return $text;
      }

Гораздо меньше кода, но работает в миллион раз быстрее.... (хотя... тут другая юзабелити... заранее заданный набор символов на замену... Но это не существенно....

P.S. Ну и собсно какого ***?!

Код: Выделить всё

&    &amp;    &#38;   амперсанд

http://htmlweb.ru/html/symbols.php
Если в коде символа есть сам этот символ.... надо на какую нить другую последовательность менять :D

Вернуться в «JS / JQuery»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость

cron