Выделить рандомные слова в тексте <b></b>

  • Автор темы Автор темы Dailes
  • Дата начала Дата начала

Dailes

Client
Регистрация
27.05.2013
Сообщения
193
Реакции
76
Баллы
28
Добрый день, интересует сабж.
1 из вариантов заменить рандомный пробел на " <b>"а рандомный+1 на "</b " но можно попасть так, что рандомный номер пробела будет за диапазоном. Тогда как вариант спарсить все пробелы в список, посчитать их количество (операции над списком - получить количество строк), и потом уже брать рандомное число между 0 и количеством строк-1, но согласитесь, это как лечить горло у проктолога. Есть варианты более адекватные? Может каким-то сниппетом?
 
Проще всего сделать через JavaScript напимер так:
JavaScript:
Развернуть Свернуть Копировать
var str = "Тестовая строка где будем заменять пробелы";
var arr = str.split(" ");
arr.forEach(function(elem, index, array){
    var doReplace =  Math.round(Math.random()); // Если 1 делаем замену, 0 нет
    if (doReplace) array[index] = "<b>"+elem+"</b>";
})
var result = arr.join(" ");
return result;

В результате получаем такие варианты:
Код:
Развернуть Свернуть Копировать
"Тестовая <b>строка</b> где <b>будем</b> заменять <b>пробелы</b>"
"Тестовая строка где будем <b>заменять</b> <b>пробелы</b>"
 
В каколм экшене юзаете?
 
Свой код - JavaScript а так же в Тестер Javascript
И ещё вопрос пока вы тут - как заменить пробел на " <b>"? у меня при замене " " на " <b>" почему-то разбиваются слова на куски, как будто он вообще любое слово наугад берёт.
 
Поставьте выполнение в браузере, или уберите return при локальном исполнении.

Покажите как вы делаете замену.
 
c31936fe8fa0066045427bd0e855517f.jpg
 
Поставьте галочку на текст вместо регекспа
 
Действительно, из-за флажка не работало. Но теперь проблема в том, что сниппет заменяет половину слов, а мне нужно из 100 слов 5-6 максимум. Поэтому вариант с заменой текста предпочтительней гораздо.
А вот если сделать как указано выше - то получается, что оно дробит текст и делает с ним черти что
 
Как-то быстро пропадает кнопка редактировать в своём сообщении.
Хоть убей, но в мейкере всё ок, в постере текст подвергается насилию.
Вот кусок шаблона, может так кто-то скажет, что я делаю не так?

https://yadi.sk/d/eCV6ZfwkdC9Hp

Собственно только что я понял причину ошибки. При переоткрытии шаблона в мейкере в экшене замены удаляются пробелы из "что менять". Почему?
 
Попробуйте вместо пробела использовать {-String.Space-}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)