Tutorials
Autor
Flitze
Klicks 41432
Bewertungen 124
Rating 8.7
Stand 19.06.2010
Keywords
BBCode, BB-Code, BB Code mit Regex, [code]-Tags, [url]-Tags, Wörter kürzen, http direkt umwandeln, QUOTE Tag, BB Code, Zitat, zitieren
Klicks 41432
Bewertungen 124
Rating 8.7
Stand 19.06.2010
Keywords
BBCode, BB-Code, BB Code mit Regex, [code]-Tags, [url]-Tags, Wörter kürzen, http direkt umwandeln, QUOTE Tag, BB Code, Zitat, zitieren
BB Code
Seite : 1 2 3 4 5 6 7 Bewerten5. [QUOTE ] Tag
Beispiele:
[ quote]Hallo ich bin ein Zitat[ /quote] =>
Zitat:
Hallo ich bin ein Zitat
[ quote]Eins[ quote]Zwei[ quote]Drei[ /quote][ /quote][ /quote] =>
Zitat:
EinsZitat:
ZweiZitat:
Drei
Code:
PHP:
<?php
// Zitate umwandeln, evtl. auch verschachtelt
$width = 575;
while(preg_match('/\[quote\](.*)\[\/quote\]/Uis', $text)) {
$width -= 10;
$quote_start = "<br><b>Zitat:</b>\n".
"<div style=\"border:solid 1px black; margin-left:5px; background-color:white; margin:0px auto; width:".$width."px\">\n";
$quote_end = "</div>";
$text = preg_replace("/\[quote](.*)\[\/quote\]/Uis", $quote_start."\\1".$quote_end, $text);
}
?>
Zitate müssen sich irgendwie vom restlichen Text abheben, damit man sie auch gut als solche erkennt. Aus diesem Grund erstelle ich ein <div>, das das Zitat umschließt. Diese <div> bekommt einen Rahmen, eine Hintergrundfarbe und wird mittig zentriert.
Die Breite des <div>s muss sich ändern, wenn mehrere Zitate geschachtelt auftreten. In einem Forum kann so was schon mal vorkommen und bei gleich bleibender Breite ließe sich keine Hierarchie erkennen.
Durch die Funktion preg_match prüfe ich, ob im Text noch irgendwo ein Zitat vorhanden ist. Ist dies der Fall, wird es mittels preg_replace ersetzt. Durch die while-Schleife kann man feststellen, ob die Zitate geschachtelt sind und dementsprechend die Breite verändern.
Zurück zur vorigen Seite:
BB Code - Der IMG Tag Weiter zur nächsten Seite:
BB Code - PHP Tag - Quellcodeauszeichnung

