Мне нужно извлечь максимально возможный результат из моего синтаксиса.Но я не могу найти способ добавить в не раскрученный текст.Мой код извлекает самую длинную опцию, когда есть доступный выбор, но игнорирует содержимое вне фигурных скобок spintax.
var totalcount = 0;
var text = "{This is|Here} a {sample|demo} of a sentence {made with|created using} spintax";
var longtext = "";
var matches, options, random;
var regEx = new RegExp(/{([^{}]+?)}/);
while((matches = regEx.exec(text)) !== null) {
options = matches[1].split("|");
var long1 = matches[1].split("|");
var longest = long1[0];
var strcount = 0;
for (i = 0; i < long1.length; i++) {
if (long1[i].length > longest.length) {
longest = long1[i];
}
strcount = longest.length;
}
totalcount = totalcount + strcount;
longtext = longtext + ' ' + longest;
random = Math.floor(Math.random() * options.length);
text = text.replace(matches[0], options[random]);
}
document.write('Random spin:<br>'+text+'<br><br>');
document.write('Longest spin ('+strcount+' chars):<br>'+longtext);
Цикл, который я использую для подсчета самых длинных опций, только подсчитываетвариации spintax.Так что это пропускает "a", "предложения" и "spintax"
Как бы я добавил их, чтобы они тоже учитывались?
Заранее спасибо ... и извините загрязный код!