[RES][Cortar string a cada X caracteres] Como inserir um <br> num string a cada X caraceteres?

Estou tentando fazer um algorítmo que “pule a linha” de uma string a cada X caracteres: por exemplo:

$numero = 3;
$string = "1234567890";

echo CortaString($string,$numero);

quero que nesse echo, apareça:

123
456
789
0

Como ficaria a function CortaString ?

Tentei de diversos modos, com substring, mas nada dá certo.

[code]$rest = substr(“1234567890”, 0, -7); // returna “123”

$rest = substr(“1234567890”, 3, -4); // returna “456”

$rest = substr(“1234567890”, 6, -1); // returna “789”

$rest = substr(“1234567890”, 9, 0); // returna “0”[/code]
perceba que somei sempre 3 nos ultimos 2 campos, alinhe esse conhecimento em um FOR que seja incrementado em 3 e faça essa rotina

.

o método split() ele separa a string no caracter passado!

String teste = “Teste Teste”;
teste.split(" ");

saida:
Teste
Teste

espero que ajude. att!

OPS, ESKECE! OUTRA LINGUAGEM! =]

Em php tem algo semelhante a split, mas não serve no meu caso. Não posso pular de linha em cada espaço branco.

douglaskd

a função que eu testei antes de postar aqui faz exatamente o que voce me recomendou, mas estou com problemas em fazer ela parar.

$teste = "abcdefghijklmnopqrstuvwyxz";
$trunk = "";   
$comeco = 0;
$fim = 3;
    
$i=0;
    
while($i<=$count){
$trunk = $trunk . substr($teste,$comeco,$fim) . "<br>";
        
$comeco = $comeco + 3;
$fim = $fim + 3;
        
$i = $i + 3;
}

[code]$teste = “abcdefghijklmnopqrstuvwyxz”;
$trunk = “”;
$comeco = 0;
$fim = 3;

$i=0;

$count = strlen($teste) / 3; //coloquei isso
$resto = strlen($teste) % 3; //coloquei isso

while($i<=$count){
$trunk = $trunk . substr($teste,$comeco,$fim) . “
”;

$comeco = $comeco + 3;
$fim = $fim + 3;

$i = $i + 3;
}

$trunk = $trunk . substr($teste,$comeco+3,$fim+$resto) . “
”; //coloquei isso [/code]

Amigo, na verdade, existe um erro aqui.

Quando colocamos a função substr(‘1234567890’,$comeco,$numero);

a variavel $comeco, significa que voce quer pegar a partir dessa posicao.
a variavel $numero, não significa que você quer “parar” nessa posição, o terceiro parâmetro é o numero de caracteres que voce deseja pegar a partir do caractere $comeco.

a função ficou assim:

<?
    $string = "abcdefghijklmnopqrstuvxzw";
    $numero = 3;
    $trunk = "";
    
    $comeco = 0;    
    
    $size = strlen($string); // size = 25
    
    $repeticao = intval($size / $numero); // repeticao = 8
    
    for($i=0;$i<$repeticao+1;$i++){
        $trunk = $trunk . substr($string,$comeco,$numero) . "<br>";
        
        $comeco = $comeco + $numero;
    }  
?>

Falows

cara, tenta usar um sub string, fica mais facil