- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
...
$str = preg_replace ( array_keys ( $new ), array_values ( $new ), $str );
$str = trim ( $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( " ", "_", $str );
Vladiator 16.09.2013 19:42 # +1
develx0 16.09.2013 19:51 # 0
Одна строка
если уж совсем сохранить функционал:
$str = preg_replace('/ {1,7}/', '_', $str);
или если упростить:
$str = preg_replace('/ +/', '_', $str);
1024-- 16.09.2013 19:53 # 0
Хотя, автор кода шёл от 7 до 1, а Vladiator - от 1 до бесконечности, это немного в другую сторону.
kegdan 16.09.2013 20:50 # 0
1024-- 16.09.2013 20:56 # +2
пробелов бы не осталось, но было бы много _________________
Именно в этой части Vladiator неправ, поскольку на первой же итерации пробелы бы кончились :)
Вот если б он пошёл от бесконечной строки с пробелами...
kegdan 16.09.2013 20:59 # 0
develx0 16.09.2013 21:01 # 0
$str = preg_replace ( array_keys ( $new ), array_values ( $new ), $str );
а с пробелами что-то лоханулся
kegdan 16.09.2013 21:02 # 0
Vladiator 16.09.2013 21:05 # +3
develx0 16.09.2013 21:07 # 0
1024-- 16.09.2013 21:20 # +2
1024-- 16.09.2013 21:43 # +1
Пример для малых чисел: http://ideone.com/1KaaRe
С вынесением алгоритма проверки достаточности в аргумент: http://ideone.com/Z3VzJz
Vladiator 16.09.2013 19:53 # +1
bot 17.09.2013 07:50 # 0
Dummy00001 16.09.2013 20:38 # +8
Код не только никогда не завершится, но благодяря использованию рекурсии он так же и php процесс положит. А если повезет и сервак криво сконфигурирован - то и сервак посвопит несколько минут. В добавок, все это теперь оформлено в удобную переиспользуемую функцию, которую можно вызывать откуда угодно.
eth0 16.09.2013 21:11 # +2
myaut 16.09.2013 22:02 # +3
>>> '_'.join("1 2 3 4".split())
'1_2_3_4'
bormand 16.09.2013 22:05 # +1
myaut 16.09.2013 22:13 # 0
bormand 16.09.2013 22:26 # +1
> табуляции тоже порежет
Да я специально... Не думаю, что они там особо нужны.
Stertor 16.09.2013 22:31 # −1
Lure Of Chaos 17.09.2013 08:29 # +3
bormand 17.09.2013 08:57 # 0
bot 17.09.2013 09:13 # 0
defecate-plusplus 17.09.2013 09:17 # +3
bot 17.09.2013 17:59 # 0
myaut 17.09.2013 20:08 # +1
guest 17.09.2013 12:43 # +2
наркоманы же. На руби порядок наоборот:
"1 2 3 4".split().join('_')
myaut 17.09.2013 15:02 # +1
Какой это имеет смысл:
?
Конечно можно для всех элементов применить __str__()...
myaut 17.09.2013 15:10 # +1
guest 17.09.2013 12:44 # −16
guest 17.09.2013 20:35 # −1