Javascript.RU

PHP-функция: str_replace

Javascript:

function str_replace ( search, replace, subject ) {	// Replace all occurrences of the search string with the replacement string
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Gabriel Paderni

	if(!(replace instanceof Array)){
		replace=new Array(replace);
		if(search instanceof Array){//If search	is an array and replace	is a string, then this replacement string is used for every value of search
			while(search.length>replace.length){
				replace[replace.length]=replace[0];
			}
		}
	}

	if(!(search instanceof Array))search=new Array(search);
	while(search.length>replace.length){//If replace	has fewer values than search , then an empty string is used for the rest of replacement values
		replace[replace.length]='';
	}

	if(subject instanceof Array){//If subject is an array, then the search and replace is performed with every entry of subject , and the return value is an array as well.
		for(k in subject){
			subject[k]=str_replace(search,replace,subject[k]);
		}
		return subject;
	}

	for(var k=0; k<search.length; k++){
		var i = subject.indexOf(search[k]);
		while(i>-1){
			subject = subject.replace(search[k], replace[k]);
			i = subject.indexOf(search[k],i);
		}
	}

	return subject;

}

Примеры:

str_replace(' ', '.', 'Kevin van Zonneveld');
'Kevin.van.Zonneveld'


Автор: Гость (не зарегистрирован), дата: 18 января, 2010 - 22:03
#permalink

function str_replace(search, replace, subject) {
return subject.split(search).join(replace);
}

взято отсюда
http://derclops.ya.ru/replies.xml?item_no=115&ncrnd=2365


Автор: puchu, дата: 23 июля, 2010 - 15:33
#permalink

ну и че?
внимательно посмари что Kevin van Zonneveld написал а патом пости свою фигню


Автор: guest (не зарегистрирован), дата: 2 августа, 2010 - 01:47
#permalink

больше букав, больше времени, мало смысла


Автор: Гость (не зарегистрирован), дата: 6 января, 2011 - 02:18
#permalink

Ага, тока у него массивы передавать можно =)


Автор: Гость (не зарегистрирован), дата: 26 марта, 2012 - 23:27
#permalink

его фигня работает, а в отличии от Kevin van Zonneveld.


Автор: aigletter, дата: 8 марта, 2015 - 01:34
#permalink

Отличная функция! )


Автор: Гость (не зарегистрирован), дата: 13 августа, 2010 - 14:55
#permalink

Спасибо! помогло)


Автор: MemHOST (не зарегистрирован), дата: 24 февраля, 2013 - 20:21
#permalink

Так надо:

anystring.replace(/чтоискать/gi, 'начтозаменить')

Автор: ттт (не зарегистрирован), дата: 20 ноября, 2013 - 00:50
#permalink

MemHOST, цуко, гений!


Автор: Маэстро, дата: 14 марта, 2014 - 13:34
#permalink

Алгоритм не должен приводить к зависанию. Попробуйте сделать
var s = str_replace("A", "A", "A");


Автор: Юрец (не зарегистрирован), дата: 16 февраля, 2015 - 17:20
#permalink

Ну вот.. хотел поюзать, заменить один символ в не длинной строке - и огнелис как давай ом-ном-ном озу..... и больше я его не видел....


Автор: Гость (не зарегистрирован), дата: 12 марта, 2015 - 15:44
#permalink

console.time('test');for(i=1000000;i--;)m.split('/').join('_');console.timeEnd('test')

test: 2249.048ms

console.time('test');for(i=1000000;i--;)m.replace(/\//g,'_');console.timeEnd('test')

test: 1039.881ms


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
6 + 2 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum