Случайный символ из строки

qqq29

Новичок
Случайный символ из строки

Помогите решить задачку))))
Желательно просто и без применения массивов. Давно не программил и мозги сильно отупели.

Дано: простая текстовая строка в переменной строка в переменной
Необходимо: случайным образом выбрать символ из строки и произвести произвольное преобразование (разукрасить, подчеркнуть, изменить шрифт средствами ХТМЛ).

Думаеццо есть вариант запихнуть все это дело в массив и проитись по нему рандомом, потом заменить символ в выпустить в вывод.

Но конструкция кажеццо мне громоздкой. Нельзя ли обойтись функциями работы со строкой ?

Заранее спасибо.

З.Ы. В поиске по данному вопросы ничего не нашел.
 

SiMM

Новичок
> В поиске по данному вопросы ничего не нашел.
И неудивительно. В Вашем вопросе не хватает одной мелкой детали - суммы гонорара. Видите ли, клуб - место, где учат, а не где всё делают за Вас двое из ларца, одинаковы с лица.
http://phpclub.ru/faq/ReadManual для начала.
 

qqq29

Новичок
Ну вот сразу про деньги))))
Не прошу готового решения - прощу просто высказать Ваше мнение по задачке)

Возможно ли данную задачку решить функциями работы со строками ?
 

DiMA

php.spb.ru
Команда форума
У тебя изначально бессмысленный вопрос. При работе со строками - необходимо использовать строковые функции. Более-менее осмысленный вопрос: можно ли обойтись только строковыми функциями без ЦИКЛА? Да, тоже можно. Но тебе - не нужно.
 

qqq29

Новичок
У меня готовая функция вывода текста, она уже в цикле. Пихать туда еще один цикл бессмыслено и тупо.

Опять же я пока не представляю как вообще выбрать случайный символ из строки. По крайней мере без использования цикла.
 

Narek

Новичок
Порядок следования параметров, к сожалению не помню, но назову функции.

Попробуй приблизительно substr_replace( $имя_переменной_стр, $стр_замены ,rand( 1, strlen( $имя_переменной_стр ) ), 1 ) в цикле

$стр_замены нужно как-то заранее определять тоже может быть в цикле, или не гнушатся массивов, можно также использовать функции форматирования строк javascript
 

qqq29

Новичок
У меня есть трабл с этим вариантом. Он работает. Спасиб.
Одно ток но.
У меня строка в функции выводится в цикле. Если туда (в цикл) запихнуть эту конструкцию будут форматироваться все символы подряд.
Как этого избежать пока что не придумал.
Возможно прервав цикл.
 

qqq29

Новичок
ок) прииду домой) буду эксперементировать) кому интересно- отпишусь)
 

DiMA

php.spb.ru
Команда форума
не, это не интересно... пишется за 5 минут. Досточно только знать перечень функций.
 

qqq29

Новичок
Добрый вечер!

Всем спасибо.
PHP:
$rand=rand(1,strlen($resulting));
echo "<p>".substr_replace($resulting,"<u>".$resulting{$rand}."</u>",$rand,1);
 

Farsh

~ on ~ high ~ wave ~
Ну и к слову, это пригодно только для однобайтной кодировки ;)
 

Армян

Новичок
потому что нумерация с нуля
PHP:
$s = 'abc'; // strlen($s) === 3
$s{0} - a
$s{1} - b
$s{2} - c
$s{3} - ы?
 
Сверху