Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak formatować tekst, aby po przekroczeniu określonej długości przechodził do nowej linii?, tekst w linijkach
Soulast
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
Blame
post
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Ja sam używam edytorów tekstu, ale niektóre nie radzą sobie z długimi tekstami. Zainteresuj się funkcją wordwrap()
Go to the top of the page
+Quote Post
Kruq
post
Post #4





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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 :-)
Go to the top of the page
+Quote Post
Soulast
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


Wielki browar dla kolegi Kshyhoo ..dziękuje za szybką poradę gdyż podziało wręcz cudownie (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Spoko, na zdrowie ;p
Go to the top of the page
+Quote Post
Kruq
post
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Cytat(Soulast @ 13.01.2010, 20:34:42 ) *
Wielki browar dla kolegi Kshyhoo ..dziękuje za szybką poradę gdyż podziało wręcz cudownie (IMG:style_emoticons/default/biggrin.gif)



no to wciśnij magiczny guziczek - > POMÓGŁ
Go to the top of the page
+Quote Post
celbarowicz
post
Post #8





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


<?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.

Go to the top of the page
+Quote Post
Kruq
post
Post #9





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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 :-)
Go to the top of the page
+Quote Post
celbarowicz
post
Post #10





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


ok dzięki
Go to the top of the page
+Quote Post
Blame
post
Post #11





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Blame 13.01.2010, 19:41:53
Go to the top of the page
+Quote Post
Soulast
post
Post #12





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


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..

Go to the top of the page
+Quote Post
Wicepsik
post
Post #13





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


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


Go to the top of the page
+Quote Post
Soulast
post
Post #14





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


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..
Go to the top of the page
+Quote Post
Wicepsik
post
Post #15





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


pokaz kod wyświetlania danych z bazy
Go to the top of the page
+Quote Post
Soulast
post
Post #16





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował Soulast 13.01.2010, 21:08:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 21:14