Zeilenumbruch erzwingen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeilenumbruch erzwingen

    Hi,

    Ich habe keine ahnung von php und deshalb auch ein kleines Problem das es zu lösen gilt.

    Also ich habe eine Seite ... "Html code" php als Dateiendung da es sonst nicht anders geht. In dieser befindet sich eine Tabelle "Layouttabelle" von sagen wir mal 120 breite. In einer Zelle dieser Tabelle sollen News dargestellt werden.
    Dafür setze ich an dieser Stelle ein
    <? include "/is/htdocs/xxx/xxx/xxx/xxx.php"; ?>

    die xxx.php sieht dann so ungefähr aus.

    <tr><td>
    <font style="Font-Family:Verdana; Font-Size:10px; Font-Weight:normal; Font-Style:normal; color:#000000">
    <? echo $fn_titel; ?> : <a href="<? echo $fn_link; ?>" style="text-decoration:none" ><? echo $fn_text; ?></a>
    </font>
    </td></tr>

    mein Problem ist nun aber, das wenn ein Wort länger ist als meine angegebene Breite, das dieses Wort dann nicht umgebrochen wird und die breite der Tabelle eingehalten wird. Stattdessen wird die Tabelle so breit wie das Wort.

    kann man das unterbinden?

    wie gesagt bin anfänger ect.

    Gruß

    der master

  • #2
    wordwrap ist dein freund
    Kissolino.com

    Kommentar


    • #3
      öhh ok .... als nicht phpler mal folgendes gemacht

      <table border=0 width=10 cellspacing=0 cellpadding=2 style="border:solid; border-width:1px; border-color:#000000">
      <tr><td>
      <font style="Font-Family:Verdana; Font-Size:10px; Font-Weight:normal; Font-Style:normal; color:#000000">
      <?
      $neuertext1 = wordwrap( $fn_titel, 5, "<br />\n" );
      $neuertext2 = wordwrap( $fn_link, 5, "<br />\n" );
      $neuertext3 = wordwrap( $fn_text, 5, "<br />\n" );

      echo $neuertext1; ?> : <a href="<? echo $neuertext2; ?>" style="text-decoration:none" ><? echo $neuertext3; ?></a>
      </font>
      </td></tr>
      </table>

      geht aber nicht ... warum ? kommt nur ein ; raus

      Kommentar


      • #4
        Original geschrieben von mastertango
        geht aber nicht ... warum ? kommt nur ein ; raus
        auch wenn du in den quelltext deiner html-ausgabe schaust? und wozu umbrichst du eine url? und was steht in den zu umbrechenden variablen?

        ps: benutz bitte die php-tags um code zu posten. die sind bei den putzigen knöpfchen oberhalb der eingabe-maske.
        Kissolino.com

        Kommentar


        • #5
          ich sehe schon ich muss das anders anfangen. ich glaub ich hab das auch dumm umschrieben.

          also ich habe eine Datei die so aussieht

          PHP-Code:
          <?
          include "mysql.conf.php";
          $result=mysql_query("select `designtyp`,`design` from fastnews_settings");
          mysql_data_seek ($result, 0);
          $row = mysql_fetch_row($result);
          $typ=$row[0];
          if ($typ=="A") {$file=$row[1].".fnd.tx.php"; $anzahl=1;}
          if ($typ=="B") {$file=$row[1].".fnd.mx.php"; $anzahl=100;}
          $result=mysql_query("select `titel`,`text`,`link`,`count`,`id` from fastnews_news order by count ASC, Rand() limit 0,$anzahl");
          $fn_titel=Array();
          $fn_text=Array();
          $fn_link=Array();
          echo '<!-- fastNews -->';
          for ($i=0; $i<mysql_num_rows($result); $i++) {
           mysql_data_seek ($result, $i);
           $row = mysql_fetch_row($result);
           if ($typ=="A") {$fn_titel=$row[0]; $fn_text=$row[1]; $fn_link=$row[2];}
           if ($typ=="B") {$fn_titel[$i+1]=$row[0]; $fn_text[$i+1]=$row[1]; $fn_link[$i+1]=$row[2];}
           $count=$row[3]+1;
           $id=$row[4];
           mysql_query("UPDATE fastnews_news SET `count`='$count' WHERE `id`='$id'");
          }
          include "designs/$file";
          ?>

          diese binde ich in meiner hp in tabellen ein. Die tabellen dürfen sich aber nicht verändern. Das mache ich mit

          PHP-Code:
          <? include "/is/htdocs/xxx/xxx/xxx/xxx.php"; ?>
          Dann habe ich noch eine Designdatei womit ich das Design der Nachrichten in der Tabelle anpasse.

          die sehen dann z.b. so aus

          PHP-Code:
           <table border=0 width=30 cellspacing=0 cellpadding=2 style="border:solid; border-width:1px; border-color:#000000">
          <tr><td>
          <font style="Font-Family:Verdana; Font-Size:10px; Font-Weight:normal; Font-Style:normal; color:#000000">
          <? echo $fn_titel; ?> : <a href="<? echo $fn_link; ?>" style="text-decoration:none" ><? echo $fn_text; ?></a>
          </font>
          </td></tr>
          </table>

          sooo... nun die frage ... wo muss ich was wie ändern damít die Tabellen sich bei einem zu langem wort nicht verziehen.



          Kommentar


          • #6
            PHP-Code:
            $fn_titel=Array();
            $fn_text=Array();
            $fn_link=Array(); 
            Was sagt dir das?

            Zitat PHP
            wordwrap -- Bricht einen String nach einer bestimmten Anzahl Zeichen mittels des angegebenen Trennzeichens um.

            Array != String
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              PHP-Code:
              if ($typ=="A") {$fn_titel=$row[0]; $fn_text=$row[1]; $fn_link=$row[2];}
               if (
              $typ=="B") {$fn_titel[$i+1]=$row[0]; $fn_text[$i+1]=$row[1]; $fn_link[$i+1]=$row[2];} 
              ^^ hier auf titel und text anwenden, dann sollte es passen.
              Kissolino.com

              Kommentar


              • #8
                Original geschrieben von Wurzel
                ^^ hier auf titel und text anwenden, dann sollte es passen.
                Sicher? Das sind Arrays. Eher auf $row[0] vor dem schreiben in das Array, und selbst dann dürfte der bei echo $fn_text nichts ausgeben.
                Oder hab ich was überlesen?
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Original geschrieben von hhcm
                  Sicher? Das sind Arrays. Eher auf $row[0] vor dem schreiben in das Array, und selbst dann dürfte der bei echo $fn_text nichts ausgeben.
                  Oder hab ich was überlesen?
                  ne ist schon ok, habs eigentlich nur ungenau formuliert *faul ich bin*
                  Kissolino.com

                  Kommentar


                  • #10
                    ok....super .... die verwirrung ist perfekt .... zumindest bei mir ....
                    Könnt ihr mir das mal ganz unfaul hier erklären ... Also nicht mit der Geschichte von PHP anfangen ... aber mal ein bisschen detailreicher damit ich auch weis was ich da tue

                    Kommentar


                    • #11
                      versuch doch einfach mal
                      PHP-Code:
                      $neuertext1 wordwrap$fn_titel5"<br />\n" ); 
                      mit dem
                      PHP-Code:
                      $fn_titel=$row[0]; 
                      logisch zusammen zu führen ... vielleicht auch erstmal mit dummy-werten etwas rumtesten, was da überhaupt passiert.
                      Kissolino.com

                      Kommentar


                      • #12
                        ok hab das nun folgendermaßen ....

                        PHP-Code:
                         if ($typ=="A") {$fn_titel=wordwrap($row[0],5,"<br />\n" ); $fn_text=wordwrap($row[1],5,"<br />\n" ); $fn_link=$row[2];}
                         if (
                        $typ=="B") {$fn_titel[$i+1]=wordwrap($row[0],5,"<br />\n" ); $fn_text[$i+1]=wordwrap($row[1],5,"<br />\n" ); $fn_link[$i+1]=$row[2];} 
                        leider leider .... nicht ganz mit dem richtigen Ergebnis.... es bricht ja immer hinter den Wörtern ... es muss aber in den Wörtern gebrochen werden wenn die zu lang sind

                        Kommentar


                        • #13
                          schau nochmal ins manual ... wordwrap kennt noch einen 4. parameter
                          Kissolino.com

                          Kommentar


                          • #14
                            ahhh.... nu bin ich bilde ... hat ja auch lange genug gedauert ... aber ich habe was gelernt .... danke für die nette und lehrreiche Hilfe ....

                            Kommentar


                            • #15
                              Original geschrieben von mastertango
                              ahhh.... nu bin ich bilde ... hat ja auch lange genug gedauert ... aber ich habe was gelernt .... danke für die nette und lehrreiche Hilfe ....

                              Sollte das nicht " NETTE, LEHRREICHE UND VERWIRRENDE HILFE" heissen ?
                              gruss Chris

                              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                              Kommentar

                              Lädt...
                              X