[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запихнуть субстринг в стринг
Страницы: 1, 2
glock18
Цитата (Valick @ 20.06.2013 - 10:33)
glock18, если можно скинь в личку вариант
Цитата
explode+array_rand+array_splice+implode

отправил
Winston
Цитата (Valick @ 20.06.2013 - 13:33)
если можно скинь в личку вариант
Цитата
explode+array_rand+array_splice+implode

А я здесь оставлю свой вариант

Какой-то он стремный получился :)
$str = 'надо стринг2 рандомально запихнуть в стринг1. естественно не по середине какого-то слова а только там где имеются пробелы. подскажите как, а то я запарился )))';
$word = ' <u>затычка</u> ';

$words = explode(' ', $str);
$r = array_rand($words);
$tmp = array_slice($words, 0, $r);
$tmp[] = $word;
$res = array_slice($words, $r);
echo implode(' ', $tmp) . implode(' ', $res);


Блин.. не заметил, что написано array_splice :(
Valick
glock18, ваш вариант самый изящный из предложенных (включая мой собственный)

_____________
Стимулятор ~yoomoney - 41001303250491
glock18
Цитата (Valick @ 20.06.2013 - 11:12)
glock18, ваш вариант самый изящный из предложенных (включая мой собственный)

Ух как, благодарю на добром слове smile.gif
Winston
Цитата (Valick @ 20.06.2013 - 14:12)
glock18, ваш вариант самый изящный из предложенных (включая мой собственный)

Может раскроете секрет? smile.gif
glock18
Цитата (Winston @ 20.06.2013 - 11:28)
Цитата (Valick @ 20.06.2013 - 14:12)
glock18, ваш вариант самый изящный из предложенных (включая мой собственный)

Может раскроете секрет? smile.gif

Хех, у меня не сохранился, я его прямо в сообщение писал. Valick, выложи если сохранилось у тебя rolleyes.gif
Valick
вариант glock18
$str = 'надо стринг2 рандомально запихнуть в стринг1. естественно не по середине какого-то слова а только там где имеются пробелы. подскажите как, а то я запарился )))';
$word = '<u>затычка</u>';
$arr = explode(' ', $str);
array_splice($arr, array_rand($arr), 0, $word);
echo implode(' ', $arr);

мой вариант

$str = 'надо стринг2 рандомально запихнуть в стринг1. естественно не по середине какого-то слова а только там где имеются пробелы. подскажите как, а то я запарился )))';
$word = '<u>затычка</u>';
$arr = explode(' ',$str);
$rnd = mt_rand(0,count($arr)-1);
foreach($arr as $key=>$val){
if($key==$rnd) $new[]=$word;
$new[]=$val;
}
echo implode(' ', $new);


_____________
Стимулятор ~yoomoney - 41001303250491
glock18
Цитата (Valick @ 20.06.2013 - 11:43)
мой вариант

алгоритмически то же самое, что со splice smile.gif просто не использована полезная функция (ну и + array_rand отчасти), сокращающая объем кода (ну и скорость немного, пожалуй, повыщающая )

Решение регуляркой мне кстати тоже понравилось чисто эстетически. Хотя, конечно, я, мягко говоря, не большой любитель использовать регулярки без необходимости smile.gif
Valick
Цитата
я, мягко говоря, не большой любитель использовать регулярки без необходимости

ну это собственно говоря и правильно, об этом написано в каждой книге в которой описаны регулярки

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.