Показать сообщение отдельно
  #3 (permalink)  
Старый 19.08.2018, 23:28
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

var rx = /\[color=([^\]]+)\](.*?)(?:\[\/color\]|$)/g;
var array_action = [];
var totalRemove = 0;
var resultStr = str.replace(rx, function(a, color, txt, idx) {
	array_action.push({
		index_start_action: idx - totalRemove,
		index_end_action: idx + txt.length - totalRemove
    });
	totalRemove += color.length + 16;
	return txt;
});
Ответить с цитированием