ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
699
699
EMPFEHLEN
-
Hi,
ich versuche gerade ein kleines Pinboard zu programmieren das auch BB Codes verwendet.
Wenn ein User einen neuen Beitrag absendet wird zuerst Html gefiltert und anschließend der BB Code (oder VB Code wie immer man es auch nennen will) durch den entsprechenden Html Tag ersetzt.
Im Prinzip alles kein Problem, doch jetzt will ich zu lange Wörter natürlich umbrechen um das Design der Page zu "schützen". Dieses verusche ich nun folgendermaßen zu realisieren:
So weit so gut, jetzt aber zum eigentlichen Problem, dass mir jetzt schon seit fast einer Woche Kopfschmerzen bereitet. Wenn der Text jetzt nämlich BB Code enthält zählt die wordwrap funktion natürlich auch diese Zeichen mit und bricht mir dann z.B. mitten im BB Code einen link um etc..PHP-Code:<?
//NACHRICHT
$message ="Hallo Hallo
Text Text Text EinWortDasVielZuLangeIstUndDeshalbUmgebrichenWerdenMUss
und so weiter";
//Wie lange bzw. wieviele zeichen darf ein Wort maximal sein?
$maxwordlength ="10";
foreach(explode(" ",str_replace("\n"," ",$message)) as $word)
{
if (strlen($word)>$maxwordlength)
{
// Originalwort
$originalword = "$word";
//Wort wird umgebrochen
$word_mit_umbruch = wordwrap($word, $maxwordlength, "<br>", 1);
// Originalwort mit umgebrochenem Wort in Nachricht ersetzen
$message = ereg_replace("$originalword","$word_mit_umbruch",$message);
}
}
//Zeilenumbruch erstellen
$message = nl2br($message);
//Ausgabe
echo "Nachricht:<br><br>$message";
?>
Ich habs mittlerweile schon auf hunderte Arten probiert bin aber bis jetzt noch zu keinem Ergebniss gekommen wie ich das Script daszu bringe nur den eigentlichen Text zwischen den BB Codes zu kürzen bzw. umzubrechen.
Hat da irgendjemand eine Idee wie sowas zu realisieren wäre, bin mit meinem Wissen nämlich am Ende
Übrigens hier im Forum werden zu lange Wörter auch umgebrochen hab ich gesehen, viell. kann mir ja der Board Admin da auch weiterhelfen
GreetZ KICK
-
Tja, Du musst im Grunde jedes Wort auf BB-Codes prüfen und wenn es welche enthält die keinen Zeilenumbruch vertragen, dann darfst Du das Wort ganz einfach nicht "brechen". Macht dieses Board übrigens meines Wissens nach auch. URL-Tags werden mittels JavaScript gekürzt, der CODE-Tag z.B. bleibt aber ganz ungebrochen, wenn ich mich jetzt nicht täusche.
Eine kleine Anmerkung an Dein Skript hätte ich noch. Ich würde kein ereg_replace verwenden um das alte gegen das neue Wort auszutauschen, wenn Du vorher ohnehin explode verwendest.
Mein Tipp also:
Speichere die Daten des explode in einem Array, parse anschließend das Array mittels einer for-Schleife oder eines foreach und tausche die Wörter nun mittels des Array-Indexes aus. Ist in dem Fall sicheriger und schneller.
Das Leben ist sch**ße ... aber die Grafik ist geil!
Ähnliche Themen
-
Dyn. String kürzen - aber wie?
Von Dustin84 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 09.08.10, 13:56 -
Von string $datei die Endung (.jpg) kürzen
Von aphaean im Forum PHPAntworten: 4Letzter Beitrag: 13.12.06, 21:43 -
String umbrechen
Von drlenny im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 21.01.04, 17:02 -
Wenn strlen($string) > 3500 $string auf $laenge kürzen und ... anhängen
Von SuperUser im Forum PHPAntworten: 4Letzter Beitrag: 02.08.03, 12:57 -
umbrechen
Von Willy im Forum PHPAntworten: 3Letzter Beitrag: 13.04.02, 11:23





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren