Newsgroup: it.comp.www.php
Titolo: e la tabella si allarga...

Ciao a tutti!
Ho una pagina con un form con il quale inserisco del testo (  $rec
['titolo']  )  nella tabella news.
Attraverso una text area inserisco il testo della news..tutto funziona
benissimo solo che quando vado a visualizzare la news la cella si allarga in
base alla lunghezza del testo anzichč andare a capo quest'ultimo.
Sono le 22 ed ormai ho fuso ma non capisco perchč con un testo che avevo
copiato ed incollato da non ricordo dove non lo faceva.
// tabella che visualizza
print '<center><table border="0" cellpadding="2" cellspacing="0"
class="tab_news">
  <tr>
  <td width="20%" class="cell_menu_tit">aaaa</td>
  <td colspan="2" width="80%" class="cell_menu_tit">'.$rec ['titolo'].'</td>
  </tr>
  <tr>
  <td class="cell_menu" valign="top">aaaaa<td>
  <td class="cell_menu">aaaaaaa</td>
  </tr>
</table>';
// textarea
<textarea name="titolo" cols="50" rows="3"></textarea></td><td
class="cell_menu_tit">

   <td colspan="2" width="80%" class="cell_menu_tit">'.$rec
['titolo'].'</td>
c'è un colspan=2 che non c'entra granchè ;)


 copiato ed incollato da non ricordo dove non lo faceva.
se nel testo in questione non ci sono spazi tra segni di punteggiatura e 
parole, il browser non riesce a fare il word wrap (non sa sillabare).
A quel punto puoi mettere tutti i width che vuoi, il browser farà 
un'override e metterà la riga a tutta larghezza...
-- 
Fabrizio "Hermooz" Ermini

 un'override e metterà la riga a tutta larghezza...
in questo caso puoi usare wordwrap()

 in questo caso puoi usare wordwrap()
Naaah. Se la metti senza 'cut' non serve a niente: un testo del tipo
"dimmi:allora,qual'era,riassumendo,l'inizio?"
sia per il browser che per la wordwrap è UNA PAROLA SOLA! Non la manderà 
mai a capo.
Se metti la wordwrap col 'cut' ti taglia le parole a mezzo, che non è 
carino in un testo di una news.
E' ovvio che questo succede solo in presenza di sciagurate condizioni 
(parole lunghe e redattori sprezzanti dell'ortografia), ma a me è 
capitato... l'unica per ridurre l'effetto è scriversi a mano una 
funzione di wordwrap che tokenizza anche su segni di punteggiature a 
altri delimitatori.
-- 
Fabrizio "Hermooz" Ermini

 ha scritto nel messaggio
news:b5s0es$2buo9u$1...@ID-138223.news.dfncis.de...


..hai ragione ma avevo copiato ed incollato per fare un esempio da un'altra
pagina..Dove c'erano 3 celle.
..Grazie!

ho fatto una prove e se inserisco una frase con punti e virgole, come mi
avete suggerito, funziona...Prima io scrivevo una parola e la incollavo
circa 20-30 volte...ecco perchè si allargava.
Deco dedurre che sia questo il wordwrap()?


"word wrap" è il termine inglese per dire, più o meno, 'testo su più 
righe' o 'testo a capo'.
Qualunque browser HTML fa un word wrap automatico: ovvero aggiusta il 
testo all'interno della cella della tabella, o del frame, o della 
finestra, ecc. ecc. andando a capo quando necessario.
Pero' non sa sillabare, nè potrebbe farlo in quanto la pagina servita 
potrebbe venire da qualunque parte del mondo e non è noto in che lingua 
sia.
Quindi in presenza di testi senza interruzioni (spazi bianchi), non ha 
altra scelta che scriverli tutti in fila e ignorare i settaggi di larghezza.
Altro discorso è la funzione php wordwrap che introduce degli 'a capo' 
manualmente in una stringa a larghezze prefissate 
(http//
php.net/wordwrap
), che è utile ad esempio per generare messaggi 
e-mail o altri testi formattati.
Spero di averti chiarito le idee...
-- 
Fabrizio "Hermooz" Ermini

altri delimitatori.
Una regexp che prima aggiunge uno spazio dopo OGNI segno di punteggiatura
e poi elimina tutti gli spazi doppi. Un altro vizio utontico e' mettere i
punti esclamativi e gli spazi un          po' a      senso !!!!!!!!!, per
cui meglio provvedere :-)
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.