funnyzocker
Erfahrenes Mitglied
Nabend. Ich muss schon wieder nerven ;-)
Ich bastele mir gerade für mein Projekt bbcodes zusammen.
Die Funktionen sind folgende.
Die eigentliche Funktion zum umwandeln
Diese Funktion ist dafür da das ich bbcode in bbcode verwenden kann. Also z.B unterstrichenen text und den text dann in bestimmter farbe
Leider ist es jetzt so das wenn ich eingebe
Das Script setzt komischerweise zwischen manche angaben das <br /> ein.
Ich bastele mir gerade für mein Projekt bbcodes zusammen.
Die Funktionen sind folgende.
Die eigentliche Funktion zum umwandeln
PHP:
function bbcode_format ($str) {
$str = htmlentities($str);
$simple_search = array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[align\=(left|center|right)\](.*?)\[\/align\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[mail\=(.*?)\](.*?)\[\/mail\]/is',
'/\[mail\](.*?)\[\/mail\]/is',
'/\[font\=(.*?)\](.*?)\[\/font\]/is',
'/\[size\=(.*?)\](.*?)\[\/size\]/is',
'/\[color\=(.*?)\](.*?)\[\/color\]/is',
'/\[br]/is'
);
$simple_replace = array(
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<a href="$1">$2</a>',
'<a href="$1">$1</a>',
'<div style="text-align: $1;">$2</div>',
'<img src="$1" />',
'<a href="mailto:$1">$2</a>',
'<a href="mailto:$1">$1</a>',
'<span style="font-family: $1;">$2</span>',
'<span style="font-size: $1;">$2</span>',
'<span style="color: $1;">$2</span>',
'<br/>'
);
// Do simple BBCode's
$str = preg_replace ($simple_search, $simple_replace, $str);
// Do <blockquote> BBCode
$str = bbcode_quote ($str);
return $str;
}
PHP:
function bbcode_quote ($str) {
$open = '<blockquote>';
$close = '</blockquote>';
// How often is the open tag?
preg_match_all ('/\[quote\]/i', $str, $matches);
$opentags = count($matches['0']);
// How often is the close tag?
preg_match_all ('/\[\/quote\]/i', $str, $matches);
$closetags = count($matches['0']);
// Check how many tags have been unclosed
// And add the unclosing tag at the end of the message
$unclosed = $opentags - $closetags;
for ($i = 0; $i < $unclosed; $i++) {
$str .= '</blockquote>';
}
// Do replacement
$str = str_replace ('[' . 'quote]', $open, $str);
$str = str_replace ('[/' . 'quote]', $close, $str);
return $str;
}
Dann wird folgendes ausgegebenKursiver text unterstrichener Text[br]
Fetter Text Roter Text
Kursiver text unterstrichener<br /> Text
Fetter Text Roter<br /> Text
Das Script setzt komischerweise zwischen manche angaben das <br /> ein.
Zuletzt bearbeitet: