Forum Moderators: coopster
function bb_code($input) {
$bb_a_a = array(
'/\[b\](.*?(?!(\[\/?b\])).*?)\[\/b\]/sim',
'/\[u\](.*?(?!(\[\/?u\])).*?)\[\/u\]/sim',
'/\[i\](.*?(?!(\[\/?i\])).*?)\[\/i\]/sim',
'/\[img\](.*?(?!(\[\/?img\])).*?)\[\/img\]/sim'
);
$bb_a_b = array(
array('<b>', '</b>'),
array('<u>', '</u>'),
array('<i>', '</i>'),
array('<img border="0" src="', '">')
);
$a_count = count($bb_a_a);
$b_count = count($bb_a_b);
if($a_count == $b_count) {
for($i = 0; $i < $a_count; $i++) {
if(preg_match($bb_a_a[$i], $input)) {
preg_match_all($bb_a_a[$i], $input, $out, PREG_PATTERN_ORDER);
$count = count($out[0]);
for($ii = 0; $ii < $count; $ii++) {
$repl = $bb_a_b[$i][0] . $out[1][$ii] . $bb_a_b[$i][1];
$input = str_ireplace($out[0][$ii], $repl, $input);
}
}
}
}
$bb_b_a = array(
'/\[url="(.*?(?!(\[url="|\[\/url\])).*?)"\](.*?(?!(\[url="|\[\/url\])).*?)\[\/url\]/sim',
'/\[urlblank="(.*?(?!(\[urlblank="|\[\/urlblank\])).*?)"\](.*?(?!(\[urlblank="|\[\/urlblank\])).*?)\[\/urlblank\]/sim'
);
$bb_b_b = array(
array('<a href="', '">', '</a>'),
array('<a target="blank" href="', '">', '</a>')
);
$a_count = count($bb_b_a);
$b_count = count($bb_b_b);
if($a_count == $b_count) {
for($i = 0; $i < $a_count; $i++) {
if(preg_match($bb_b_a[$i], $input)) {
preg_match_all($bb_b_a[$i], $input, $out, PREG_PATTERN_ORDER);
$count = count($out[0]);
for($i = 0; $i < $count; $i++) {
$repl = $bb_b_b[$i][0] . $out[1][$ii] . $bb_b_b[$i][1] . $out[3][$ii] . $bb_b_b[$i][2];
$input = str_ireplace($out[0][$ii], $repl, $input);
}
}
}
}
return $input;
}
'/\[b\](.*?)\[\/b\]/mis',
'/\[u\](.*?)\[\/u\]/mis',
'/\[i\](.*?)\[\/i\]/mis',
'/\[img\](.*?)\[\/img\]/is'
'/\[url="(.*?)"\](.*?)\[\/url\]/is',
'/\[urlblank="(.*?)"\](.*?)\[\/urlblank\]/is'