Hallo!
Ich weiß ja nicht warum der so heißt, aber ich würde auch gerne solchen Code in mein Forum einbauen. Wie ich [b],[i] und[u] ersetze weiß ich schon, is ja nicht schwer. Aber wie macht ihr zum Beispiel folgendes:
[color=#777777]text[/color] oder [link]http://...[/link] ?
Siehe /includes/bbcode.php (wer suchet, der findet; hier gibt es nur Hilfe zur Selbsthilfe ;)):
$text = preg_replace("/[color=(#[0-9A-F]{6}|[a-z]+):$uid]/si", $bbcode_tpl['color_open'], $text);
So aus dem Kopf hätte ich auf den regulären Ausdruck ~[color=(#[A-F0-9]{6})]~i getippt. |[a-z]{3} ist auch einleuchtend, denn man kann Farbangaben auch dreistellig notieren. Das :$uid verstehe ich nicht, dazu fehlt mir das tiefere Verständnis von der internen phpBB-Arbeitsweise, vielleicht ist es auch RegExp-Syntax, welche mir fremd ist.
Ich hab's auf die schnelle so gelöst:
<?php
$string='text[color=#777777]murks[/color]murks';
$string=preg_replace("~[color=(#[A-F0-9]{6})]~i", "<span style="color:\1">", $string);
$string=str_replace("[/color]", "</span>", $string);
echo($string);
?>
Arbeitet ihr da mit Regulären Ausdrücken, oder geht das auch einfacher?
Genau, reguläre Ausdrücke. Einfacher geht es afaik nicht.
Grüße,
Mathias