Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak formatować tekst, aby po przekroczeniu określonej długości przechodził do nowej linii?
Forum PHP.pl > Forum > Przedszkole
Soulast
Jak formatować tekst, aby po przekroczeniu określonej długości przechodził do nowej linii?

Chce sformatować tekst, aby przełamał się gdy przekroczy określoną ilość znaków i nie będzie się mieścił w jednej linijce.
Użytkownicy często nie panują nad tym co i jak piszą. Potrafią w formularzu umieścić bardzo długie zdania bez naciśnięcia entera, a często zdarzy się, że wprost napiszą dłuuuuuuuuuuuuuuuuuuuuuugi wyraz, który spowoduje rozjechanie się strony.
Tutaj właśnie mam problem posiadam oto taki skrypt dla komentarzy gdzie po wpisaniu bardzo długiego tekstu on się nie rozdziela na pare linii tylko nie potrzebnie poszerza stronę:/
Próbował dodać wartości wysokości oraz szerokości do table, td, czy nawet div lecz bez skutku..
Bardzo proszę o pomoc..

Oto część mojego kodu:

  1. <table style='background-image: url(images/combg.png); background-repeat: no-repeat; background-position:center; width=529px; height=96px; border-color: transparent; border-style: solid;' width='529px' border='0' cellspacing='1' cellpadding='1'>
  2. <tr>
  3. <td align='center' width='20%' height='80%'><br>$photo</td>
  4. <td align='left' valign='top' width='20%' height='80'><font color='black'><br>&nbsp;&nbsp;&nbsp;&nbsp; $comment</font></td>
  5. </tr>
Blame
Myślę, że problem nie leży w wyświetlaniu ale w dodawaniu tekstu. Wydaje mi się, że textarea z ustawionym na stałe "width" sam przełamuje tekst i wstawia enter'y. Przykład - to forum.
Kshyhoo
Ja sam używam edytorów tekstu, ale niektóre nie radzą sobie z długimi tekstami. Zainteresuj się funkcją wordwrap()
Kruq
Cytat(Kshyhoo @ 13.01.2010, 19:33:51 ) *
Ja sam używam edytorów tekstu, ale niektóre nie radzą sobie z długimi tekstami. Zainteresuj się funkcją wordwrap()



no kolego , sam bym dał Ci plusika .. bo też interesował mnie ten temacik ... idealne rozwiązanie :-)
Soulast
Wielki browar dla kolegi Kshyhoo ..dziękuje za szybką poradę gdyż podziało wręcz cudownie biggrin.gif
Kshyhoo
Spoko, na zdrowie ;p
Kruq
Cytat(Soulast @ 13.01.2010, 20:34:42 ) *
Wielki browar dla kolegi Kshyhoo ..dziękuje za szybką poradę gdyż podziało wręcz cudownie biggrin.gif



no to wciśnij magiczny guziczek - > POMÓGŁ
celbarowicz
<?php
$tekst = "Szybki, brązowy lis przeskoczył nad leniwym psem hhhhhhhhhhmvchhhhhhhhhhhhhheeeeeeeeeee ffffffffffffff vvvvvvvvv ssssssssssssss.";
$nowytekst = wordwrap($tekst, 20, "<br />\n");

echo $nowytekst;
?>
a dlaczego to nie działa? Jedna z części ma więcej niż 20 znaków.

Kruq
Cytat(celbarowicz @ 13.01.2010, 21:17:19 ) *
<?php
$tekst = "Szybki, brązowy lis przeskoczył nad leniwym psem hhhhhhhhhhmvchhhhhhhhhhhhhheeeeeeeeeee ffffffffffffff vvvvvvvvv ssssssssssssss.";
$nowytekst = wordwrap($tekst, 20, "<br />\n");

echo $nowytekst;
?>
a dlaczego to nie działa? Jedna z części ma więcej niż 20 znaków.



  1. $tekst = "Szybki, brązowy lis przeskoczył nad leniwym psem hhhhhhhhhhmvchhhhhhhhhhhhhheeeeeeeeeee ffffffffffffff vvvvvvvvv ssssssssssssss.";
  2. $nowytekst = wordwrap($tekst, 20, "<br />\n", true);
  3.  
  4. echo $nowytekst;


Teraz zadziała :-)
celbarowicz
ok dzięki
Blame
W tym akurat przypadku, dobrze przeniesie do następnej linii, ale jeśli ciąg to będzie na przykład:"Ala ma kota, chciałbym takiego samego"
To po zastosowaniu tej funkcji otrzymamy:
Kod
Ala ma kota, chciałb
ym takiego samego

Celowo nie podałem tej funkcji bo jej używanie nie należy do najwygodniejszych.
Soulast
osoobiście użyłem troszke innego sposobu:
Cytat
$comment= str_replace(' ', chr(26), $comment);
$comment= wordwrap($comment, 65, '<br />', TRUE);
$comment= str_replace(chr(26), ' ', $comment);


Oraz teraz pytanie z tej samej beczki czy istnieje sposób na wyczytywanie obrazków z bazy sql np 8miu lecz po 4ry w dwóch liniach oto część mojego skryptu:
Cytat
<td valign='top' align='center'>$zdjecie</a>
<br>$nazwa</b></a></td>


próbowałem dodać colspan='4' rowspan='2' ale bez skutku..

Wicepsik
  1. $i = 0;
  2. while($row = mysql_fetch_array($result)){
  3. if ($i % 4) echo '<br/>';
  4. // wyświetlasz rekordy
  5. $i++;
  6. }


Soulast
Cytat(Wicepsik @ 13.01.2010, 20:15:18 ) *
  1. $i = 0;
  2. while($row = mysql_fetch_array($result)){
  3. if ($i % 4) echo '<br/>';
  4. // wyświetlasz rekordy
  5. $i++;
  6. }


może to głupie ale nie mogę dojść do tego jak ten malutki kod wykożystać..:/

próbowałem na wiele już sposobów..
Wicepsik
pokaz kod wyświetlania danych z bazy
Soulast
Oto ogólnie jest cały kod..

  1. $totalfriends=mysql_query("SELECT COUNT(*) FROM friends WHERE userid='$member[id]'");
  2. $totalfriends=mysql_fetch_array($totalfriends);
  3. $totalfriends="$totalfriends[0]";
  4. $friendcount=mysql_num_rows(mysql_query("SELECT userid FROM friends WHERE userid='$member[id]' ORDER BY priority ASC LIMIT 0,7"));
  5. if($totalfriends==1){
  6. $fname="<font color='black'>Buddy</font>";
  7. } else {
  8. $fname="<font color='black'>Buddys</font>";
  9. }
  10. if($totalfriends!=0){
  11. $fcount=(7/$friendcount);
  12. }
  13. $userfriends=mysql_query("SELECT id,userid,friendid FROM friends WHERE userid='$member[id]' ORDER BY priority ASC LIMIT 0,8");
  14. while(list($id,$userid,$friendid)=mysql_fetch_row($userfriends)){
  15. $pfriend=mysql_query("SELECT * FROM members WHERE id='$friendid'");
  16. $pfriend=mysql_fetch_array($pfriend);
  17. if(($pfriend[photo]) && ($pfriend[photo]!="http://")){
  18. $fphoto="<img src='$pfriend[photo]' border='0' onLoad='resize_logo2( this );' onLoad='resize_logo2( this );' width='52' height='47'/>";
  19. }else{
  20. $fphoto="<img src='./images/avf.png' border='0' onLoad='resize_logo2( this );' width='90' height='74'/>";
  21. }
  22. $listfriends.="
  23. <td valign='top' align='center'>
  24. <a href='./profile.php?account=$pfriend[id]'>$fphoto</a><br>
  25. <a href='./profile.php?account=$pfriend[id]'><b>$pfriend[name]</b></a></td>";
  26. }
  27. if($totalfriends != 0){
  28. $out[body].="
  29. <table width='160' border='1' cellspacing='1' cellpadding='1'>
  30. <tr>
  31. $listfriends
  32. </tr>
  33. </table><br />
  34. ";
  35. } else {
  36. $out[body].="
  37. <table width='98%' border='0' cellspacing='1' cellpadding='1'>
  38. <tr>
  39. <td width='100%' valign='top' align='center'>No Current Friends.</td>
  40. </tr>
  41. </table>
  42. <br />";
  43. $out[body].="
  44. <table width='100%' border='0' cellspacing='1' cellpadding='1'>
  45. <tr>
  46. <td valign='center' align='right' width='170' height='20' colspan='$friendcount'><b>$totalfriends </b> <a href='./profile.php?action=editfriends&mem=$member[id]'>View All Friends</a></td>
  47. </tr></table>
  48. <tr><td> </td></tr>
  49. ";
  50. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.