Andreas: Lange Wörter in Tabellen automatisch Unterbrechen

Hi,

ich habe eine HTML Tabelle, bei der die Breite in Prozent angegeben wird. Die Breite sollte sich aber nicht größer als eben die angegebenen Prozent sein - was leider durch lange Wörter in einer Zelle nicht mehr der Fall ist.

Ein Beispiel gibt es bei

http://www.software-server.net/services/gbook/cgi-bin/gbook/gb.cgi?id=6

Die Tabellenbreite ist hier 80% und durch das lange Wort in einem Eintrag wird das ganze Layout versaut.

Hat vielleicht jemand von Euch eine Idee, wie man die Unterbrechung von langen Wörtern in Tabellen erzwingen kann, so dass die Tabelle nie breiter wird, als man angegeben hat?

Ciao
Andreas

  1. hi andreas,

    Hat vielleicht jemand von Euch eine Idee, wie man die Unterbrechung von langen Wörtern in Tabellen erzwingen kann, so dass die Tabelle nie breiter wird, als man angegeben hat?

    ja ich habe mal bei self html nachgeschlagen unter "tabellen" weil ich dir ja auch keinbe s*******e erzählen will.
    normalerweise ist es so, das der text automatisch umgebrochen wird.
    es sei denn du gibst explizit "nowrap" an.
    vielleicht liegt es auch am cgi-script, denn da muss man das reinprogrammieren.
    habe zwar zwei fette perlbücher, aber auf die schnelle finde ich da nicht die lösung.
    ich empfehle dir (nehme mal an das du perl benutzt hast) bei der ausgabe der html seiten nochmals eine prüfung vorzunehmen, ob auch alles so richtig ist im quelltext.
    vielleicht aber auch, hat ein kollege hier eine besserere lösung wie ich.

    mfg
    sven

    1. Hi Sven,

      vielen Dank für Deine Antwort. Ich bin mittlerweile davon überzeugt, dass ich das nicht mit HTML lösen kann, also habe ich mein Perl Script so umgeschrieben, dass lange Wörter nach 50 Zeichen unterbrochen werden. Der Code hierzu:

      my $text='Irgend ein Text';
      my $char=0;
      my $dummy='';
      my $i=0;
      for($i=0;$i<=length($text);$wsc_j++){
        $char++;
        if(substr($text,$i,1)eq' '){
          $dummy.=substr($text,$i,1);
          $char=0;
        }elsif($char==50){
          $dummy.="<br>".substr($text,$i,1);
          $char=0;
        }else{
          $dummy.=substr($text,$i,1);
        }
      }
      $text=$dummy;

      Vielleicht hilft das ja noch Anderen, die die selbe Frage haben.

      Ciao
      Andreas

      1. Ich nochmal...

        Hab' einen kleinen Tippfehler im Code:

        for($i=0;$i<=length($text);$wsc_j++){

        muss heissen

        for($i=0;$i<=length($text);$i++){

        Ciao
        Andreas

        1. hi andreas,
          das freut mich das du es geschafft hast.
          da war mein hinweis mit dem perl script, das du das nochmal überprüfen solltest, doch nicht so verkehrt. :-)

          dann wünsche ich dir mal viel spass damit.

          mfg
          sven