WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Zeilenumbruch erzwingen (http://www.wcm.at/forum/showthread.php?t=137211)

Fusi 18.06.2004 16:07

Zeilenumbruch erzwingen
 
Hy

Wie kann ich in HTML (oder CSS) einen zeilenumbruch erzwingen ? Es zerstört extrem die optik wenn man in einer vordeffinierten Tabellengröße zb. AAAAAAAAAAAAAAAAAAAAAAAAAA eingibt, was die größe der Tabelle ändert. Wie kann ich das verhindern ?

Juro 18.06.2004 16:21

AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Fusi 18.06.2004 17:40

?? es geht um text den user eingeben in einem gästebuch zb... oder ein Poll.. je nach dem.. und wenn jemand so klug ist und 100 zeichen ohne leerzeichen eingibt will ich dann nicht eine rießenbreite tabelle haben, sondern in der von mir vorgelegten breite

holzi 18.06.2004 17:51

selfhtml wird weiterhelfen ;)

http://de.selfhtml.org/html/tabellen...htm#definieren

http://de.selfhtml.org/html/tabellen...ng.htm#abstand

Fusi 18.06.2004 17:57

unter den 2 Links hab ich nichts passendes gefunden. Und ich will nicht das komplette SelfHTML durchstöbern, bzw. Google wenn mir maybe hier wer helfen kann.

snowman 18.06.2004 20:09

Welche Skriptsprache?
Man muß die Eingabe des Textfeldes prüfen und einen automatischen Zeilenumbruch nach einer gewissen Länge von Zeichen einfügen.

gruss,
snowman

Fusi 18.06.2004 22:03

Rein HTML, bzw. auch CSS.

Das Problem an der Sache ist das ich die EIngabe nicht Prüfen kann, da sie nicht von mir kommt. Im Anhang sieht man was ich meine, bzw. verhindern möchte.

pong 18.06.2004 22:38

Das ganze schaut eh nach nem PHP/ASP/JSP Script aus, also warum erzeugst nach n Zeichen, nach der Eingabe, nicht einfach ein
?

pong

Fusi 19.06.2004 14:18

Naja, das Problem an der Sache ist das ich PHP nicht wirklich beherrsche.. Hab ein Fertiges CMS. Und dieses schickt zb. bei einem Poll den Text in eine Tabelle.. Und wenn ein User so blöd ist, und einen Poll ohne Leerzeichen macht, dann hauts mir das ganze Format der Seite durcheinander.

Hussl 21.06.2004 07:12

@Fusi

Du kannst einmal schauen ob im <td> bzw. <th>-Tag ein NOWRAP vorkommt. Wenn das so ist, dann lösch es raus, weil das veranlasst, dass der Zellinhalt nicht automatisch umgebrochen wird.

Quelle: http://de.selfhtml.org/html/tabellen...#zeilenumbruch

mfg
Hussl

snowman 21.06.2004 10:04

Das hilft gar nichts und ist für anderes gedacht.

gruss,
snowman

Hussl 21.06.2004 10:26

Zitat:

Das hilft gar nichts und ist für anderes gedacht.
nämlich?

mfg
Hussl

snowman 21.06.2004 11:26

NOWRAP verannlaßt, dass der Zelleninhalt MIT LEERZEICHEN nicht automatisch umgebrochen wird. (Es sagt aber nichts drüber aus, dass der Zelleninhalt umgebrochen wird, wenn man NOWRAP nicht dasteht. = semantischer Unterschied ;-) ) Es geht aber um Text OHNE Leerzeichen, und der wird nicht umgebrochen.

gruss,
snowman

Hussl 21.06.2004 12:45

ok, hast recht!

heli2sky 21.06.2004 15:37

Bitteschön:
PHP-Code:

  function str_break($str$maxlen){
    
$nobr 0;
    
$len strlen($str);
    for (
$i 0$i<$len$i++){
      if ((
$str[$i]!=' ') && ($str[$i]!='-') && ($str[$i]!="\n"))
        
$nobr++;
      else{
        
$nobr 0;
        if(
$maxlen+$i>$len){
          
$str_br .= substr($str$i);
          break;
        }
      }
      if (
$nobr>$maxlen){
        
$str_br .= '-'.$str[$i];
        
$nobr 1;
      }
      else
        
$str_br .= $str[$i];
    }
    return 
$str_br;
  } 

+

Diese Funktion baust du in die Seite ein. Dann musst du sie nur noch aufrufen und die Werte (String, Länge) übergeben - fertig.

Fusi 21.06.2004 20:11

Wo ich es einbaue ist egal ?

Das mit aufrufen und den werten versteh ich leider auch nicht :x

kingchaos01 21.06.2004 21:51

Anwendung zb so:

$umbrochener_string=str_break($zu_umbrechender_str ing, 25);
echo $umbrochener_string;

ergibt einen umbrochenen string mit zeilenlänge 25....und gibt ihn aus...
gar ned so schwer, oder?

btw: die function "wordwrap" von php macht imho das gleiche:
http://www.php.net/manual/de/function.wordwrap.php

r.

heli2sky 21.06.2004 22:59

Ach, oje... Warum mach ich das alles immer so kompliziert? Danke für den Tipp. Ich hab schon so eine Funktion gesucht, aber auf die Schnelle nix gefunden.

Geht allerdings auch erst ab php4.irgendwas

Fusi 21.06.2004 23:49

so leicht ist es ja wieder dochnicht was man so in den kommentaren liest:

http://at.php.net/wordwrap

kingchaos01 21.06.2004 23:57

jo, des wordwrapping is ein echtes problem, wenn man sich das genauer anschaut.... hat irgendwie jede funktion ihre höhen und tiefen. für die einfacheren zwecke sollte allerdings die in php eingebaute funktion reichen.

@heli2sky: genauso ist es mir auch gegangen: "da hat's doch was gegeben..." und ganz am ende der string-funcs-liste hab ich's dann doch noch gefunden ;-)

Fusi 22.06.2004 00:04

kann mir mal einer erklären wie ich das PHP nun in meinem HTML Codin einsetze ?

Der Quelltext sieht zb. so aus:

<html>
<body>
<table>
<tr>
<td width="100">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>
</tr>
</table>
</html>

Fusi 22.06.2004 00:39

noch etwas einfaches, praktischen gefunden:

CSS style="table-layout:fixed"

schneidet aber den text dann ab, und geht nur im MSIE ;(

snowman 22.06.2004 10:14

Also wenn ich mir deine Kenntnisse so anschaue, wäre es einfacher, du suchst dir jemanden, der dir das um ein paar Euro macht.

gruss,
snowman

heli2sky 23.06.2004 18:41

Der Code, den du gepostet hast, hilft wenig ;)

Das Wichtige ist, woher du das "AAAAAAAAAAAAAAAAAAAAAA" einliest bzw. in die HTML Datei einbaust... d.h. es wäre gut, wenn du den php-code posten würdest ;)

Oder snowmans Lösung wär auch zu überlegen.

Fusi 24.06.2004 17:21

ich wüsste nun gern ob es möglich ist, einen PHP Code am Anfang vom Quelltext zu posten, welcher mir immer einen Zeilenumbruch einfügt, der dann für das restliche Coding gillt.

Potassium 24.06.2004 18:41

Zitat:

Original geschrieben von Fusi
ich wüsste nun gern ob es möglich ist, einen PHP Code am Anfang vom Quelltext zu posten, welcher mir immer einen Zeilenumbruch einfügt, der dann für das restliche Coding gillt.
ähm php-quelltext muss geparsed werden den kannst du nicht einfach in den HTMLquelltext einbinden. oder hab ich dich da falsch verstanden?

heli2sky 24.06.2004 19:06

Nochmal: Du hast eine HTML Seite - die ist fix und unveränderlich, statisch. In diese Seite (das ist das Layout) werden dann bestimmte Dinge "hineingeschrieben", also veränderliche, dynamische Inhalte/Werte. Diese Werte musst du irgendwo herbekommen und dann ist das ganze ganz einfach:

Wenn du es jetzt z.B. so hast: <table><tr><td><?php echo $var1 ?></td></tr></table>, dann fügst du irgendwo am Anfang einfach meine Funktion zwischen <?php und ?> und schreibst dann <table><tr><td><?php echo str_break($var1(also die Variable, die du vorher hattest!),100(also die Anzahl der Zeichen pro Zeile)) ?>

Klar?

Da wir alle nicht hellsehen können, wäre es besser, wenn du den kompletten Code posten würdest... Also samt php.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag