Как разделить строку PHP, если число символов больше

У меня есть поле ввода пользователя. Это будет textarea, Когда пользователь отправляет форму, я хочу проверить, является ли количество введенных символов больше 10. Если больше 10, я хочу разделить ее. Четко говорит, если я получу строку

$someWords = "Pleasedon'tblowmetopiecesandthis will be a 12345 random.";

Затем я хочу разделить эту строку. Каждая часть должна быть длиной не более 10 символов. Требуемый результат (чистый текст) должен выглядеть примерно так:

tblowmetop
iecesandth
is will be
a 12345 r
andom

Как я могу сделать это в PHP? У меня есть идея о получении подсчета с помощью strlen($string);,

1

Решение

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

Эта функция считает пробел («») одним символом
Выход

Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)

Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)

http://php.net/manual/en/function.str-split.php

Проверьте эту ссылку для получения дополнительной информации

Необходимо убрать использование пространства str_replace функционировать перед str_split заменить пространство в строке

0

Другие решения

Вы можете использовать встроенную функцию PHPs chunk_split():

$chunkedString = chunk_split($someWords, 10);

Это дает вам строку с разрывом строки после каждых 10 символов.

Если вы хотите получить массив с записями по 10 символов каждый, вы можете использовать PHP str_split():

$chunks = str_split($someWords, 10);
1

PHP имеет встроенную функцию под названием str_split() Это разбивает строку и создает массив.

$arr = str_split($someWords, 10);

Этот код создаст массив строк, каждая длиной 10 символов. Аналогичная функция chunk_split() может быть использован для вставки дополнительного контента каждые n символов.

$chunked = chunk_split($someWords, 10);

$chunked это одиночная строка с переводом строки через каждые 10 символов. Эта функция может быть полезна для переноса текста для вывода.

0

Вы можете попробовать использовать рекурсивно

function submystr_to_array($str, $length, $arr_result = array() )
{
$istr_len = strlen($str);

if ( $istr_len == 0 )
return $arr_result;

$result = substr($str, 0, $length);
$tail = substr($str, $length, $istr_len );

if ( $result )
array_push( $arr_result, $result );

if( !$tail )
return $arr_result;

return submystr_to_array( $tail, $length, $arr_result);
}

$mystr = "Pleasedon'tblowmetopiecesandthis will be a 12345 random.";

var_dump( submystr_to_array($mystr, 10) );

результат:

array(6) {
[0]=>
string(10) "Pleasedon'"[1]=>
string(10) "tblowmetop"[2]=>
string(10) "iecesandth"[3]=>
string(10) "is will be"[4]=>
string(10) " a 12345 r"[5]=>
string(6) "andom."}
0