Zeilenumbruch erzwingen

theLMF

Mitglied
Mehrere Fragen:

1.) Ich les einen Varchar (oder etwa eine ???) aus einer MySQL-DB aus - allerdings ist das ausgelesene etwas zu lang: ich würde gerne einen Zeilenumbruch erzwingen - wie mache ich das ???

2.) Jemand postet einen html-code in mein Guestbook, der dann alles verzieht... wie kann ich das verhindern ???

3.) Wie kann ich bestimmte Zeichen in einer text aus ner MySQL-DB durch etwas anderes ersetzen ??? (z.B. :D durch ne smilie-grafik)
 
zeichen ersetzen

PHP:
$kommentar = str_replace(":)", "<img src='smilie.gif'>", $kommentar);
ersetzt die zeichenfolge :) im text der der variablen $kommentar zugeordnet ist durch smilie.gif
 
Zuletzt bearbeitet:
hmm ne 1.) =|= 2.) (nicht gleich)

wenn der z.b. nur ne halbe tabelle als eintrag in meinem GB speichert, dann liest das GB das aus und macht murks... des wollte ich verhindern...
 
1)
PHP:
<?php
$zeichen = 50;
$text = preg_replace("/([^\n\r -]{".$zeichen."})/i"," \\1\n",$text);
?>

2)
PHP:
<?php
$text = htmlspecialchars($text);
?>


ps: != ist ungleich :)
 
Zuletzt bearbeitet:
ok... und was bedeuten diese ganzen zeichen (/([^\n\r -]{...)
sind das die zeichen, nach denen dann gekürzt wird ???

<?php
$text = htmlspecialchars($text);
?>

hab herausgefunden, dass es mit strip_tags genauso geht... laut beschreibung zumindest...
 
Zuletzt bearbeitet:
So ungefähr.

Im übrigen muss man nicht unbedingt einen erzwungenen Zeilenumbruch per PHP regeln.
Es gibt dafür auch noch ein schönes css Attribut. :)
 
Oder benutze -wordwrap- !!!
Das gibts halt erst ab version 4.02, aber is cool.. *gg*
Gruß Christian
 
Zuletzt bearbeitet:
Hier mal ne Erklärung:

string wordwrap(stringvar,int maxwidth,string breakchar,int cuttype)

stringvar = dein zu verkürzender String
maxwidth = ist die maximal Breite :-)
breakchar = Das zeichen, das er zum kürzen benutzen soll z.B. \n
cuttype = Entweder 0 = trennt er keine Wörter auch bei sehr langen,
1 = trennt er auch mittem im wort!! 2 = Trennung wird auf der zeile auf der ein wort zu lang wer unterbrochen!!

Hier noch ein Bsp:
$text = "langessssssssssssssssssssssssssssssssssssssssss Wort"
$text = wordwrap($text,30,"\n",1);

Ausgabe:
langesssssssssssssssssssssssssssss
sssss Wort.

---> Hab die Zeichen jetzt nicht abgezählt, wäre aber höchstens 30 Zeichen lang. :-)
Alles klar??
Gruß, Christian
 
Zuletzt bearbeitet:
Zurück