Jump to content
Fórum Script Brasil
  • 0

Função?


masterlsno
 Share

Question

tenho um texto simples atribuido a uma variável...

$texto = "Jesus respondeu: Em verdade, em verdade te digo que se alguém não nascer da água e do Espírito, não pode entrar no reino de Deus. João 3:5";

para por exemplo colocar um link no texto só com a metade do texto para que a pessoa possa lê-lo em outra página, qual função eu uso?

pois "strlen(string str);" é uma função que conta a quantidade de caracteres. O que eu estava querendo é que por exemplo:

$link = $texto(apenas 35 caracteres);

echo "$link"; //Jesus respondeu: Em verdade, em verdade te digo

que iria ficar + ou - assim:

Jesus respondeu: Em verdade, em verdade te digo ... - João 3:5 -

... bom, eu acho que deu para compreender, um abraço pessoal

fiquem na paz, que Deus possa abençoar a todos!!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Assumindo que o texto vai ter APENAS 1 ponto final eu faria assim...

usaria o explode para dividir o texto em 2 partes, então pegaria a primeira parte (que seria a frase) e dai usaria o substr para cortar parte da frase e posteriormente montaria o link, veja abaixo o exemplo:

<?
$frase = "Jesus respondeu: Em verdade, em verdade te digo que se alguém não nascer da água e do Espírito, não pode entrar no reino de Deus. João 3:5";
list($primeiraparte, $segundaparte) = explode(".", $frase);
$link = substr($primeiraparte, 0, AQUI COLOCA ATÉ QUE PONTO IR NA FRASE);
echo"<a href=\"AQUI VOCÊ COLOCA ONDE A MENSAGEM COMPLETA ESTARÁ\" target=_self>$link... - $segundaparte -</a>";
?>

Note que caso você queira exatamente a metade da frase poderá pegar o valor com o strlen e dividir por 2, dai basta arredondar com round

Link to comment
Share on other sites

  • 0

Assumindo que o texto vai ter APENAS 1 ponto final eu faria assim...

usaria o explode para dividir o texto em 2 partes, então pegaria a primeira parte (que seria a frase) e dai usaria o substr para cortar parte da frase e posteriormente montaria o link, veja abaixo o exemplo:

<?
$frase = "Jesus respondeu: Em verdade, em verdade te digo que se alguém não nascer da água e do Espírito, não pode entrar no reino de Deus. João 3:5";
list($primeiraparte, $segundaparte) = explode(".", $frase);
$link = substr($primeiraparte, 0, AQUI COLOCA ATÉ QUE PONTO IR NA FRASE);
echo"<a href=\"AQUI VOCÊ COLOCA ONDE A MENSAGEM COMPLETA ESTARÁ\" target=_self>$link... - $segundaparte -</a>";
?>

Note que caso você queira exatamente a metade da frase poderá pegar o valor com o strlen e dividir por 2, dai basta arredondar com round

tipow as frases serão listadas de um banco de dados e ....ao serem listadas eu queria fazer com que as frazes listadas só aparecessem os 35 primeiros caracteres independente de quantos caracteres tenha o texto..

por exemplo Salmo 47 tem um texto de muitos caracteres mas para deixar o pessoal curioso eu só mostro 35 caracteres ou seja o início do texto para que esse, o início, seja apenas um chamativo para lincar com outra página e mostrar o texto todo.

:)

Link to comment
Share on other sites

  • 0

Para evitar que as palavras sejam cortadas, faça assim:

$texto = "Jesus respondeu: Em verdade, em verdade te digo que se alguém não nascer da água e do Espírito, não pode entrar no reino de Deus. João 3:5";
$texto_35 = str_reduce ($texto, 35);
echo "<a href=\"pagina.php\">".$texto_35."</a>";

A função str_reduce() não é nativa do PHP; você pode pegar o código-fonte dela neste link:

http://scriptbrasil.com.br/forum/index.php...mp;#entry228618

[]'s

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.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...