| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: BBCode schreiben im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, also ich versuche gerade für unser cms ein eigenes bbcode plugin zu schreiben. der relevante teil der function ...
![]() |
| | #1 (permalink) |
| Registriert seit: 10.08.06 ![]() Likes: 0 | Anzeige Hi, also ich versuche gerade für unser cms ein eigenes bbcode plugin zu schreiben. der relevante teil der function ist folgender: Code: $text = str_replace($bbcode,$htmlcode,$text); return $text; Aber das funktioniert nicht, zum Beispiel hatte ich einen Text und habe in die Datenbank ein Test bbcode eingefügt. Code: Der Text war ein toller dummy text der [FAT]hier fett geschrieben sein soll [/FAT] |
| | |
| | #2 (permalink) |
| Member of Honour ![]() | BB-Codes parsen ist - insbesondere wenn es dann auch noch um Verschachtelungen geht - weitaus weniger trivial, als du wahrscheinlich annimmst... und mit str_replace() ist man sowieso ein wenig eingeschränkt... du musst quasi schon voraussetzen, dass der User sauberen BB-Code schreibt, um später auch ein sauberes Ergebnis zu bekommen.... für BB-Code gibt es eine recht ausgereifte Parser-Klasse: http://www.christian-seiler.de/projekte/php/bbcode/ schau dir die doch einfach mal an... |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 10.08.06 ![]() Likes: 0 | ok ich danke dir, ich werds mir ma angucken |
| | |
| | #4 (permalink) |
| Registriert seit: 26.03.08 ![]() Likes: 0 | Hi, für solche Fälle sollte dir ereg_replace weiterhelfen. Schau dir mal folgenden Schnipsel an: Code: function bb_FAT_replace($string)
{
$string = ereg_replace("\[FAT\]", "<b>", $string);
$string = ereg_replace("\[\/FAT\]", "</b>", $string);
return $string;
}
$entry = "hier gibt es auch [FAT]fetten[/FAT] Text";
echo bb_FAT_replace($entry); Das ganze wird hier über Regular Expressions umgesetzt, daher müssen bestimmte Zeichen per Backslash escaped werden. |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 10.08.06 ![]() Likes: 0 | kann ich die expressions wie "\[FAT\]" auch in ne db schreiben und in ein array laden und dann abfragen? weil sonst müsste ich ja für jeden ausdruck den ich verändern will den quellcode verändern. |
| | |
| | #6 (permalink) |
| Member of Honour ![]() | kannst du sicherlich auch... hier ist aber wieder ein ähnliches Problem wie bei deinem str_replace: entweder du schreibst einen RegExp, der sauber überprüft, ob ein Anfangs- und ein End-Tag existieren Nachteil: es wird verdammt hässlich mit Verschachtelung von BB-Codes oder du schreibst das so, wie moveax1 geschrieben hat (dann kannst du aber genauso gut bei deinen str_replace bleiben) Nachteil: du musst davon ausgehen, dass der Verfasser des Textes mit BB-Code auch wirklich sauberen BB-Code schreibt und alles was er öffnet wieder schließt, etc. ansonsten wird eben ungültiger HTML-Code erzeugt, der dir dein ganzes Seiten-Layout versauen kann.... (wenn z.B. Tags geöffnet werden, aber nicht mehr geschlossen) Daher mein Tipp mit dem BB-Code- PARSER, weil der auch Verschachtelungen und so problemlos mitmacht. Denn wenn du nur mit str_replace arbeitest oder mit derartig einfachen RegExp's wie von moveax1 gepostet, dann kannst du genauso gut einfach mit EINEM regulären Ausdruck abfragen, dass nur bestimmte HTML-Tags erlaubt sind und alle HTML-Tags, die z.B. nicht <b>, <u> oder <i> sind sollen durch die Entities ersetzt werden (<b> etc.) |
| | |
| | #7 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
Aber ein simpler Validierer ist imho nicht soo schwer: pseudocode
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [RegExp] BBCode - [code]-Blöcke | rami | (Web-) Design und webbasierte Sprachen | 2 | 10.06.09 14:56 |
| Buttons wie [B] oder [I] die den BBcode in eine Textarea eintragen | reaLInsanity | (Web-) Design und webbasierte Sprachen | 11 | 11.06.07 08:10 |
| schreiben in textarea | Mana | (Web-) Design und webbasierte Sprachen | 4 | 20.05.07 20:31 |
| BOT schreiben | Fr33-Key | Code Kitchen | 10 | 22.03.06 18:39 |
| My-SQL Table schreiben ô.O | reaLInsanity | (Web-) Design und webbasierte Sprachen | 7 | 16.02.06 20:50 |