PHP Tutorials, PHP lernen, PHP Forum, PHP Community and more ... MyWebsolution.de!

Sidebar

Home News Tutorials Workshops Tipps Artikel Gästebuch Sitemap Pascal Landau

Suche

Members

Forum Login Registrierung

Statistik

Statistikbereich
Jetzt2
Heute157
Gestern250
Gesamt2346545

BB Code - Wörter kürzen

Autor Flitze
Klicks 172855
Rating für BB Code
  8.6 von 10
Bewertungen187
Stand 11.06.2013
Keywords:
BBCode, BB Code erklärt, [php]-Tags, [code]-Tags, HTML ersetzen, HTML ausschalten, Wörter kürzen, Links umwandeln, Links kürzen, www direkt umwandeln, Wörter kürzen, Spam, BBCode, langer Text

Amazon: PHP 5.3 und MySQL 5.1
Breadcrumb:
Tutorials » BB Code » BB Code - Wörter kürzen
Seite : 1 2 3 4 5 6 7 Bewerten
Article Wizard - deutscher Article Spinner

3. Wörter kürzen

[ADSENSE_LINE]
Manchmal gibt es Leute, die gezielt das Layout einer Website zerstören, indem sie z.B. einen Gästebucheintrag erstellen, der so aussehen könnte:
Code:
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW



Der Browser kann nirgendwo einen automatischen Zeilenumbruch erzeugen (IE mit seinem word-break lasse ich mal außen vor) und die ganze Seite wird unheimlich in die Breite gezogen. Um dem vorzubeugen, kann man den Text mit Hilfe der folgenden Funktion nach einer bestimmten Anzahl von Buchstaben ein Leerzeichen einfügen, so dass der Browser umbrechen kann.

PHP:
<?php
// Wörter mit mehr als 60 Zeichen werden ab dem 60. Zeichen um ein Leerzeichen ergänzt
// damit der Browser den Text umbrechen kann (, sonst wird das Layout zerstört)
$max_word_lenght 60;
// Die Länge von Links ist größer, da sie nur im Quelltext als 'lang' erscheinen
// Links werden später noch gesondert behandelt
$max_link_lenght 200;
// Trennzeichen
$splitter " ";
// Text in Zeilen aufteilen, sonst würden Zeilenumbrüche (\n) nicht als Worttrennung erkannt
$lines explode("\n"$text);
foreach(
$lines as $key_line => $line) {
    
// jede Zeile in Wörter aufteilen
    
$words explode(" ",$line);
    
// jedes Wort prüfen
    
foreach($words as $key_word => $word) {
        
// für Links wird die maximale Länge erhöht
        
if(substr(strtolower($word), 07)== 'http://' OR substr(strtolower($word), 08)== 'https://' OR substr(strtolower($word), 04)=='www.')
            
$max_lenght $max_link_lenght;
        else
            
$max_lenght $max_word_lenght;
        
$word trim($word);
        
// BB-Code Tags entfernen, da sie nicht zur Buchstabenlänge eines Wortes zählen
        
$word preg_replace("/\[(.*)\]/Usi"""$word);
        if(
strlen($word)>$max_lenght) {
        
// Trennen des Wortes nach max_length Buchstaben
            
$words[$key_word] = chunk_split($words[$key_word], $max_lenght$splitter);
            
// abziehen der Länge des Trennzeichens, dieses wird am Ende automatisch
            // noch einmal eingefügt
            
$length strlen($words[$key_word])-strlen($splitter);
            
$words[$key_word] = substr($words[$key_word],0,$length);
        }
    }
    
// fügt die veränderten Wörter wieder zur Zeile als String zusammen
    
$lines[$key_line] = implode(" "$words);
}
// fügt Zeilen wieder zum gesamten Text als String zusammen
$text implode("\n"$lines);
?>


Die Kommentare erklären eigentlich so ziemlich jeden Schritt, deshalb erspare ich mir mal eine weitere Erläuterung :D
Fragen können im Forum gestellt werden ;)

Die Umwandlung des BB-Codes sollte danach erfolgen!

Zurück zur vorigen Seite:
BB Code - URL's umwandeln
Weiter zur nächsten Seite:
BB Code - Der IMG Tag

»» Zurück zum Menu

Suchmaschinenoptimierung

Suchmaschinenoptimierung (SEO - Search Engine Optimization)

Ranking

Tutorials (13)

8.6
8.4
8

Workshops (3)

8.8
8.7
7.6

Tipps (12)

7.2
6.7
6.5

Artikel (32)

8.4
8
7.2

RSS Feeds

Full Feed Tutorials Workshops Tipps Artikel

Twitter

Follow me on Twitter

Partner & Links


Valid HTML 4.01 Transitional
Valid CSS
nach oben

Diese Seiten unterstützen MyWebsolution:
 
© MyWebsolution.de
2006-2024