Jump to content
Fórum Script Brasil
  • 0

Wordrap


diguinho

Question

coloquei essa função no meu livro de visitas pra evitar q o cara escrevesse tf junto e a pagina ficasse distorcida..

wordwrap( $recado, 65, "<br />",1);

ta td certo com caracteres comuns mas se o kara colocar:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

dai ela não funciona!! porque isso??

alguém pode me ajuda..

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

não funciono... se coloco o @@@@@@@@@@ ele não quebra a linha..

Sério? No meu funciona! huh.gif

Eu utilizo ela num mural de recados que criei... acabei de testá-la com "@"...

Bom, mais uma tentativa:

$recado = preg_replace("/(\S{65})/", "\\1\n", $recado);

Até mais...

Link to comment
Share on other sites

  • 0

Que estranho...

Essa ER analisa se tem mais de 65 caracteres "não-espaços" seguidos... se tiver, ela inclui uma quebra de linha... e o "@" não é considerado espaço!

Bom, se eu tiver alguma outra idéia, eu volto aqui pra postar...

Falou!

Link to comment
Share on other sites

  • 0

Olá,

Segundo os comentarios que tem na php.net :

"The native function will then properly cut words after non-alphanumeric characters, not only after a plain space. "

a função tem um bug pois não divide a string após um caracter não alfanumerico.

(acho que um funciona e outro não por causa da versão do PHP)

No mesmo local existem varias alternativas...

de uma olhada:

http://br.php.net/wordwrap

só pesquisar um pouco biggrin.gif

Link to comment
Share on other sites

  • 0

so mais uma pergunta..

tem como eu conta quantos vezes o @ se repete num post..

tipo quando o cara tentar gravar se tiver mais de X vezes o @ ele não grava...

já da pra quebra o galho enquanto não arrumo isso..

Link to comment
Share on other sites

  • 0

Mas esse problema acontece só com o arroba? Como o jissa falou, essa função não quebra se o caractere não for alfanumério. Então, esse problema deveria acontecer tb se você enchesse de underscores, por exemplo: "________________" (já tentou pra ver o que acontece?)

Posta o código de como você tá fazendo isso pra gente analisar... wink.gif

***** EDITANDO *****

Dá uma olhada na função count_chars()

Link to comment
Share on other sites

  • 0

Não tem nada de mais no seu código, era pra funcionar com aquela ER que passei... :/

Usando a count_chars():

<?php

$quantidade = count_chars($recado, 0);

if ($quantidade['@'] > 65) {

    echo "Erro";

} else {

    // Grava registro no bd

}

?>

Abraços!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...