BBCode؟؟؟؟

miladmovie

Active Member
سلام
اين BBCode ها چه طور كار مي كنند؟
من نياز دارم كه مانند phpbb از ديتابيس اطلاعات بگيرم و هر جا كدهاي مخصوصي بود اونها رو تبديل به چيزهاي ديگه اي بكنم
 

miladmovie

Active Member
وقتي داشتم b2 رو فارسي مي كردم خودم تابع اون رو پيدا كردم
کد:
function convert_bbcode($content) {
	global $b2_bbcode;
		$content = preg_replace($b2_bbcode["in"], $b2_bbcode["out"], $content);

	$content = convert_bbcode_email($content);
	return ($content);
}
كه $b2_bbcode يك آرايه از تگهاي bbcode است
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

ميلاد جان ميشه يكم بيشتر توضيح بدي؟! چون منم خيلي دوست دارم بدونم اما چون هنرو OOP بلد نيستم نتونستم از توي كدهاي phpBB چيزي سر در بيارم...
الان مثلا يك نمونش همين اديتور اين انجمنها وقتي كه يك حرف مينويسه به جاش يك عكس قرار ميده يا مثلا نوع فونت و ... ميتوني بگي چطوري ميشه پياده سازيش كرد؟




مرسي
مجيد
 

miladmovie

Active Member
سلام
آقا من ديشب عجله داشتم تمام دستورات رو ننوشتم :oops:
کد:
<?php

function convert_bbcode($content) {
		#BBcode search and replace arrays
$b2_bbcode['in'] = array(
	'#\[b](.+?)\[/b]#is',		// Formatting tags
	'#\[i](.+?)\[/i]#is',
	'#\[u](.+?)\[/u]#is',
	'#\[s](.+?)\[/s]#is',
	'#\[color=(.+?)](.+?)\[/color]#is',
	'#\[size=(.+?)](.+?)\[/size]#is',
	'#\[font=(.+?)](.+?)\[/font]#is',
	'#\[img](.+?)\[/img]#is',		// Image
	'#\[url](.+?)\[/url]#is',		// URL
	'#\[url=(.+?)](.+?)\[/url]#is',
	'#\[email](.+?)\[/email]#eis',		// E-mail
	'#\[email=(.+?)](.+?)\[/email]#eis'
);
$b2_bbcode['out'] = array(
	'<strong>$1</strong>',		// Formatting tags
	'<em>$1</em>',
	'<span style="text-decoration:underline">$1</span>',
	'<span style="text-decoration:line-through">$1</span>',
	'<span style="color:$1">$2</span>',
	'<span style="font-size:$1px">$2</span>',
	'<span style="font-family:$1">$2</span>',
	'<img src="$1" alt="" />',		// Image
	'<a href="$1">$1</a>',		// URL
	'<a href="$1" title="$2">$2</a>',
//	"'<a href=\"mailto:$1\">'.antispambot('\\1').'</a>'",		// E-mail
	"'<a href=\"mailto:$1\">$1</a>'",		// E-mail
	"'<a href=\"mailto:$1\">$2</a>'",		// E-mail
);

		$content = preg_replace($b2_bbcode["in"], $b2_bbcode["out"], $content);

	$content = convert_bbcode_email($content);
	return ($content);
}

function convert_bbcode_email($content) {

	#BBcode search and replace arrays
$b2_bbcode['in'] = array(
	'#\[b](.+?)\[/b]#is',		// Formatting tags
	'#\[i](.+?)\[/i]#is',
	'#\[u](.+?)\[/u]#is',
	'#\[s](.+?)\[/s]#is',
	'#\[color=(.+?)](.+?)\[/color]#is',
	'#\[size=(.+?)](.+?)\[/size]#is',
	'#\[font=(.+?)](.+?)\[/font]#is',
	'#\[img](.+?)\[/img]#is',		// Image
	'#\[url](.+?)\[/url]#is',		// URL
	'#\[url=(.+?)](.+?)\[/url]#is',
	'#\[email](.+?)\[/email]#eis',		// E-mail
	'#\[email=(.+?)](.+?)\[/email]#eis'
);
$b2_bbcode['out'] = array(
	'<strong>$1</strong>',		// Formatting tags
	'<em>$1</em>',
	'<span style="text-decoration:underline">$1</span>',
	'<span style="text-decoration:line-through">$1</span>',
	'<span style="color:$1">$2</span>',
	'<span style="font-size:$1px">$2</span>',
	'<span style="font-family:$1">$2</span>',
	'<img src="$1" alt="" />',		// Image
	'<a href="$1">$1</a>',		// URL
	'<a href="$1" title="$2">$2</a>',
	"'<a href=\"mailto:'.antispambot('\\1').'\">'.antispambot('\\1').'</a>'",		// E-mail
	'<a href="mailto:$1">$2</a>'
);
	$bbcode_email["in"] = array(
		'#\[email](.+?)\[/email]#eis',
		'#\[email=(.+?)](.+?)\[/email]#eis'
	);
	$bbcode_email["out"] = array(
		"'<a href=\"mailto:'.antispambot('\\1').'\">'.antispambot('\\1').'</a>'",		// E-mail
		"'<a href=\"mailto:'.antispambot('\\1').'\">\\2</a>'"
	);

	$content = preg_replace($bbcode_email["in"], $bbcode_email["out"], $content);
	return ($content);
}

?>
البته بار $b2_bbcode ميشه كه از global استفاده كني ولي من چون روي لوكال هستم كار نكرد اين كارش كردم :roll:
اين هم يك مثال براي اون :wink:
 

جدیدترین ارسال ها

بالا