Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Разделение слова на части
Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009
Помог: 14 раз(а)
Функций, с помощью которых можно разбить строку на части, предостаточно. А вот как разбить отдельно взятое слово на части по заданному кол-ву символов - функцию не нашел.
Конечно способ есть, но как мне кажется, он какой-то индуский.
Например:
Пардон, но вы что-то упустли. В вашем примере получаем:
Array
(
[0] => put
[1] => inv
[2] => ova
)
но никак не
Array
(
[0] => putin
[1] => vova
)
Ладно, закроем тему. Я не особо надеялся, что подобные функции существуют. Способы решения есть, пусть и не очень удобные. Всё равно, спасибо за внимание.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
grefon
Как я понял, автору нужно решить задачу:
0. Есть строка X длиной N
1. Дано число Y, 0<=Y<N
2. После разбиения имеем ровно две строки, длиной Y символов, и N-Y соответственно
Если делать при помощи str_split, то строка будет разбиваться не на 2 части а на столько, сколько раз Y влезает в N.
То есть если X='abcdefgh', а Y=2 то результатом должно быть 'ab' и 'cdefgh', но никак не 'ab', 'cd', 'ef', 'gh'
В этом случае для решения в одну функцию нужно модифицировать пример DeepVarvar, например, так:
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Deonis
Отправлено: 19 Мая, 2011 - 09:27:28
Посетитель
Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009
Помог: 14 раз(а)
grefon пишет:
О майн гаД!!! Вы серьезно?
Более чем
grefon пишет:
А тройку на 5 поменять не догадались?
Не поверите, но синтаксис функции str_split знаю хорошо
Уже потом понял, что короткое слово в примере не лучший вариант.
И чтоб покончить с str_split, попробуйте именно с её помощью разделить "alkogolizm" на две части: "alko" и "golizm"
Повторюсь, что я не особо надеялся, что функция, которая могла бы облегчить мою задачу существует. Я её мог бы представить, как что-то в этом роде
some_func($str,$part,$num_chars);
Где $str - обрабатываемое слово, $part - на сколько частей делить, $num_chars - количество символов в частях, кроме остатка (в него попадёт о 0 до ~ символов)
Тогда это выглядело бы так:
some_func("охзаморочилтывсех",3,2);
На выходе мог бы быть массив "ох, за, морочилтывсех"
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
Deonis пишет:
отдельно взятое слово на части по заданному кол-ву символов
Извините, но Вы изначально неверно сформулировали вопрос. str_split как раз и разбивает слово по заданному кол-ву символов. О том что слово нужно бить на неравные куски Вы не говорили!
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
EuGen
Отправлено: 19 Мая, 2011 - 09:59:28
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Deonis
Для случая с произвольным числом отрезков можно использовать, к примеру, это:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.