Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนเรื่อง bbcode หน่อยครับ พอดีผมทำ forum ขึ้นมาเองอ่ะครับ แต่อยากได้ script เพื่อใส่ bbcode ลงไปอ่ะครับ อ่ะครับ



 

รบกวนเรื่อง bbcode หน่อยครับ พอดีผมทำ forum ขึ้นมาเองอ่ะครับ แต่อยากได้ script เพื่อใส่ bbcode ลงไปอ่ะครับ อ่ะครับ

 



Topic : 030196

Guest




พอดีผมทำ forum ขึ้นมาเองอ่ะครับ แต่อยากได้ script เพื่อใส่ bbcode ลงไปอ่ะครับ อ่ะครับ ท่านใดพอมีไหมครับ ได้หาตาม google แล้วแต่ดูแล้วมันงงอ่ะครับ และอีกอย่างเขาไม่ได้บอกวิธีใช้ละเอียดด้วยสิ เลยใช้ไม่ค่อยเป็นเลยอ่ะครับ
รบกวนหน่อยน่ะครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-11 13:46:26 By : ling View : 5691 Reply : 46
 

 

No. 1



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


WYSIWYG - Free HTML Online Editor






Date : 2009-08-11 13:51:53 By : panyapol
 


 

No. 2



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

คือ editor พวกนี้จะช่วยเราในการใส่ bbcode หรือแต่งข้อความ ตอนเราพิมพ์ใช่ไหมครับ

แต่ผมอยากได้ตอนที่มัน echo message จาก sql ออกมาให้เป็น link หรือข้อความเป็นสี เหมือน ตอนพิมพ์หรือใช้ bbcode ไปอ่ะครับ หรือ editor นี้จะช่วยเราทำแบบนั้นได้ด้วยหรือเปล่าครับ

ขออภัยที่พิมพ์ คำถามไม่ชัดเจนครับ รบกวนอีกทีน่ะครับ
Date : 2009-08-11 14:09:23 By : cjmling
 

 

No. 3



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ไม่มีใครพอมีเลยเหรอครับ
Date : 2009-08-11 20:00:57 By : cjmling
 


 

No. 4



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Quote:
คือ editor พวกนี้จะช่วยเราในการใส่ bbcode หรือแต่งข้อความ ตอนเราพิมพ์ใช่ไหมครับ

ใช่ครับ
Quote:
แต่ผมอยากได้ตอนที่มัน echo message จาก sql ออกมาให้เป็น link หรือข้อความเป็นสี เหมือน ตอนพิมพ์หรือใช้ bbcode ไปอ่ะครับ หรือ editor นี้จะช่วยเราทำแบบนั้นได้ด้วยหรือเปล่าครับ

แบบนี้คุณต้องเอา Tag ของ HTML ทั้งหลาย Insert เข้า Table ด้วยแล้วหล่ะครับ
Date : 2009-08-11 20:13:41 By : panyapol
 


 

No. 5

Guest


ถ้าเขียนเองล่ะค่ะมีวิธียังไงค่ะ บอกหน่อยนะค่ะ
Date : 2009-08-11 21:49:52 By : น้อง yoyo
 


 

No. 6



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

แล้วมีวิธีเขียน php code สำหรับ เปลี่ยน bbcode เป็น html code ไหมครับ ตอน echo message อ่ะครับ
Date : 2009-08-12 12:02:36 By : cjmling
 


 

No. 7



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

หาดูครับ มีแน่นอน ลองเซอร์จคำว่า bbcode decoder

เห็นใช้ preg_replace();
Date : 2009-08-12 12:15:46 By : pjgunner
 


 

No. 8



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


ผมทำ class เก็บไว้อยุ่อะ เดวมาแจก
Date : 2009-08-12 13:42:33 By : danya
 


 

No. 9



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


รวมมาทั้งหมดที่มีแล้วมาแจกเลยดีไหม จะได้เก็บมาใช้ อิอิ ของฟรีใครก็ชอบ
Date : 2009-08-12 13:44:45 By : plakrim
 


 

No. 10



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


รอดุนยา เอามาแยกอยู่นะ ....จัดมาๆพ่อคุณได้บุญนะ
Date : 2009-08-12 14:13:56 By : panyapol
 


 

No. 11



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


*** เอามาแจก *** (พิมพ์ผิด ไม่ใช่ "แยก")
Date : 2009-08-12 14:14:43 By : panyapol
 


 

No. 12



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


อย่าตาลายนะ 555+


Code (PHP)
<?php

class bbcode 
{
	/**
	* html list tyle
	*
	* @var array
	*/		
	private $listStyle;

	/**
	* syntag of syntaxHighlighter
	*
	* @var array
	*/		
	private $syntaxHighlighter;

	/**
	* custom BBcode
	*
	* @var array
	*/	
	private $customBBCode;

	/**
	* html Replacement 
	*
	* @var string
	*/	
	private $htmlReplacement;

	/**
	* tag
	*
	* @var string
	*/	
	private $tag;

	/**
	* remove message in code tag
	*
	* @var array
	*/	
	private $removeMSGCodeTag = array('<br />','<br>');

	/**
	* substr long url
	*
	* @var boolean
	*/	
	public $trimLongURLTag = false;

	/**
	* class constructor 
	* 
	* @return void
	*/
	public function __construct() 
	{
		$this->listStyle = array('1' => '1','a' => 'a','A' => 'A', 'i' => 'i', 'I' => 'I');

		$this->syntaxHighlighter = array(
											'php' => 'php',
											'js' => 'js',
											'asp' => 'asp',
											'sql' => 'sql',
											'css' => 'css',
											'xml' => 'xml',
											'java' => 'java
											');
		$this->customBBCode = array(
										'1' => array(
														'b'		=>	'<strong>{message}</strong>',
														'i'		=>	'<em>{message}</em>',
														'u'		=>	'<u>{message}</u>',
														'left'	=>	'<div style="text-align: left">{message}</div>',
														'center'=>	'<div style="text-align: center">{message}</div>',
														'right'	=>	'<div style="text-align: right">{message}</div>'
														),
										'2' => array(
														'color'	=>	'<span style="color: {option}">{message}</span>',
														'size'	=>	'<font size={option}>{message}</font>',
														'quote' =>	"					
					<div class='quotemessage'>
						<table width='90%' border='0' cellpadding='0' cellspacing='0'>
							<tr>
								<td>
								<div class='quote_title' style='padding:5px; margin:0px;'><b>ข้อความโดย :: {option}</b></div>
								<div class='quotecontent' style='padding:5px; margin:0px;'>{message}</div>
								</td>
							</tr>
						</table> 
					</div>"
														)
										);
	}


	/**
	* array to remove message in code text
	*
	* @param	array $removeMSGCodeTag (array('<br />','\n'))	
	* 
	* @return	void
	*/
	public function setremoveMSGCodeTag($removeMSGCodeTag) 
	{
		$this->removeMSGCodeTag[] = $removeMSGCodeTag;
	}

	public function setTrimLongURLTag($boolean)
	{
		if ( is_bool($boolean) ) $this->trimLongURLTag = $boolean;
	}

	/**
	* add new tag
	*
	* @param	string $type (1-3)
	*				1 : single tag
	*				2 : double tag
	*				3 : tripple tag
	* @param	string $tag ( video )
	* @param	string $html
	* 
	* @return	void
	*/
	public function addTag($type, $tag, $html) 
	{
		$this->customBBCode[$type][$tag] = $html;
	}

	/**
	* parse bbcode
	*
	* @param	string $text
	* 
	* @return	string
	*/
	final public function parse($text) 
	{

		if ( count( $this->customBBCode['1'] ) > 0 ) 
		{
			foreach ( $this->customBBCode['1'] AS $tag => $html) 
			{
				$this->htmlReplacement = $html;
				$this->tag = $tag;
				$text = $this->customTag( $text );
			}
		}

		if ( count( $this->customBBCode['2'] ) > 0 ) 
		{
			foreach ( $this->customBBCode['2'] as $tag => $html)
			{
				$this->htmlReplacement = $html;
				$this->tag = $tag;
				$text = $this->customOptionTag( $text );
			}
		}

		$text = self::emailTag($text);
		$text = $this->imgTag($text);
		$text = $this->urlTag($text);
		$text = $this->listTag($text);
		$text = $this->codeTag($text);

		return $text;
	}

	/**
	* parse img tag
	*
	* @param	string $text
	* 
	* @return	void
	*/
	public static function imgTag( $text )
	{
		return preg_replace('#\[img](.+?)\[/img\]#is', '<img src=\'\\1\' alt="" title="" />', $text);
	}

	/**
	* parse url tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	protected function urlTag( $text )
	{
		$text = preg_replace_callback('#\[url\](.+?)\[/url\]#is', array( &$this, 'urlTagCallBack' ), $text);
		$text = preg_replace_callback('#\[link\](.+?)\[/link\]#is', array( &$this, 'urlTagCallBack' ), $text);
		$text = preg_replace_callback('#\[url=(.+?)\](.+?)\[/url\]#is', array( &$this, 'urlOptionTagCallBack' ), $text);
		$text = preg_replace_callback('#\[link=(.+?)\](.+?)\[/link\]#is', array( &$this, 'urlOptionTagCallBack' ), $text);
		return $text;
	}

	/**
	* parse url tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function urlTagCallBack( $match )
	{
		if ( mb_strlen($match[1],'utf-8') > 50 && $this->trimLongURLTag )
		{
			$start	=	mb_substr( $match[1], 0, 40,'utf-8' );
			$end	=	mb_substr( $match[1], -10, 10,'utf-8');
			$url	=	$start . '...' . $end;
		}
		else
		{
			$url = $match[1];
		}

		return '<a href="' . $match[1] . '" alt="" title="" target="_blank">' . $url . '</a>';;
	}

	/**
	* parse url with option tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function urlOptionTagCallBack( $match )
	{
		if ( mb_strlen($match[2],'utf-8') > 50 && $this->trimLongURLTag && $match[1] == $match[2] )
		{
			$start	=	mb_substr( $match[2], 0, 40,'utf-8');
			$end	=	mb_substr( $match[2], -10, 10,'utf-8');
			$show	=	$start . '...' . $end;
		}
		else
		{
			$show = $match[2];
		}
		return '<a href="' . $match[1] . '" alt="" title="" target="_blank">' . $show . '</a>';;
	}

	/**
	* parse url tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	public static function emailTag( $text )
	{
		$text = preg_replace('#\[email](.+?)\[/email\]#is', '<a href="mailto:\'\\1\'" alt="" title="">\\1</a>', $text);
		return $text;
	}

	/**
	* parse custom tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	protected function customTag( $text )
	{
		while( preg_match( "#\[" . $this->tag . "\](.+?)\[/" . $this->tag . "\]#is" , $text ) )
		{
			$text = preg_replace_callback( "#\[" . $this->tag . "\](.+?)\[/" . $this->tag . "\]#is"  , array( &$this, 'customTagCallBack' ), $text );
		}
		return $text;
	}

	/**
	* parse custom tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function customTagCallBack( $match )
	{
		return str_replace('{message}' ,$match[1], $this->htmlReplacement);
	}

	/**
	* parse custom option tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	protected function customOptionTag( $text )
	{
		while( preg_match( "#\[" . $this->tag . "=(.+?)\](.+?)\[/" . $this->tag . "\]#is" , $text ) )
		{
			$text = preg_replace_callback( "#\[" . $this->tag . "=(.+?)\](.+?)\[/" . $this->tag . "\]#is"  , array( &$this, 'customOptionTagCallBack' ), $text );
		}
		return $text;
	}

	/**
	* parse custom option tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function customOptionTagCallBack( $match )
	{
		$text = str_replace('{message}' ,$match[2], $this->htmlReplacement);
		return str_replace('{option}' ,$match[1], $text);
	}

	/**
	* parse list with option tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	protected function listTag( $text )
	{
		while ( preg_match( "#\[list\](.+?)\[/list\]#is" , $text ) )
		{
			$text = preg_replace_callback('#\[list\](.+?)\[/list\]#is', array( &$this, 'listTagCallBack' ), $text);
		}

		while ( preg_match( "#\[list=(.+?)\](.+?)\[/list\]#is" , $text ) )
		{
			$text = preg_replace_callback('#\[list=(.+?)\](.+?)\[/list\]#is', array( &$this, 'listOptionTagCallBack' ), $text);
		}
		return $text;
	}

	/**
	* parse list with option tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function listTagCallBack( $match )
	{
		while ( preg_match( "#\[li\](.+?)\[/li\]#is" , $match[1] ) )
		{
			$match[1] = preg_replace('#\[li\](.+?)\[/li\]#is', '<li>\\1 \\2</li>', $match[1]);
		}
		return '<ol style="list-style: disc">' . $match[1] . '</ol>';
	}

	/**
	* parse list with option tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function listOptionTagCallBack( $match )
	{
		while ( preg_match( "#\[li\](.+?)\[/li\]#is" , $match[2] ) )
		{
			$match[2] = preg_replace( '#\[li\](.+?)\[/li\]#is' , '<li>\\1 \\2</li>', $match[2]);
		}
		return '<ol type="' . $this->listStyle[$match[1]] . '">' . $match[2] . '</ol>';
	}

	/**
	* parse code tag
	*
	* @param	string $text
	* 
	* @return	string
	*/
	protected function codeTag( $text )
	{
		return preg_replace_callback('#\[code=(.+?)\](.*?)\[/code\]#is', array( &$this, 'codeTagCallBack' ), $text);
	}

	/**
	* parse code tag callback
	*
	* @param	string $match
	* 
	* @return	string
	*/
	protected function codeTagCallBack( $match )
	{
		if ( count( $this->removeMSGCodeTag ) > 0 )
		{
			foreach ( $this->removeMSGCodeTag AS $value )
			{
				$match[2] = str_replace( $value,'',$match[2] );
			}
		}

		return '<pre class="brush: ' . $this->syntaxHighlighter[$match[1]] . '">' . $match[2] . '</pre>';
	}
}

class postMessageBox
{
	private $tag = array();
	private $toolWidth = '400';
	private $textName = 'txtBox';
	private $imgURL = 'images';
	private $defaultValue = '';

	public function __construct( $textName )
	{
		$this->textName = $textName;

		$this->tag = array(
										'1' => array(
														'b'		=>	array('ตัวหนา', 'bold.gif'),
														'i'		=>	array('ตัวเอียง', 'em.gif'),
														'u'		=>	array('ขีดเส้นใต้', 'underline.gif'),
														'left'	=>	array('จัดข้อความชิดซ้าย', 'left.gif'),
														'center'=>	array('จัดข้อความชิดกลาง', 'center.gif'),
														'right'	=>	array('จัดข้อความชิดขวา', 'right.gif'),
														'img'	=>	array('รูปภาพ', 'img.gif'),
														'email'	=>	array('อีเมล์', 'email.gif')
														),
										'2' => array(
														'color'	=>	array('สีข้อความ', 'color.gif', 'ป้อนสี'),
														'quote'	=>	array('อ้างอิงข้อความ', 'quote.gif', 'ใส่ชื่อเจ้าของข้อความ'),
														'url'	=>	array('ลิงค์', 'url.gif','ป้อนลิงค์'),
														'code'	=>	array('โค้ด', 'code.gif','ป้อนภาษาที่เขียน เช่น php, js, asp, sql, css')
														),
										'3'	=> array(
														'list' => array('ลิส์แบบลำดับ','orderlist.gif','ป้อนประเภทลิสท์ เช่น 1, a, A, i, I','li','ป้อนรายการ')
														)
										);
	}

	public function setToolWidth( $width )
	{
		$this->toolWidth = $width;
	}

	public function setDefaultValue( $message )
	{
		$this->defaultValue = $message;
	}

	public function addTag($type, $tag, $title, $image, $message = '')
	{
		$this->tag[$type][$tag] =  array( $title, $image, $message) ;
	}
	
	private function fetchBBCode()
	{
		if ( count($this->tag) > 0 )
		{
			foreach( $this->tag AS $type => $text )
			{
				switch ( $type )
				{
					case 1:
						foreach( $text AS $tag => $message )
						{
							$list[1][] = <<<HTML
<a onclick="addBBCode(1,'$tag', '{$this->textName}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;

					case 2:
						foreach( $text AS $tag => $message )
						{
							$list[2][] = <<<HTML
<a onclick="addBBCode(2,'$tag', '{$this->textName}', '{$message[2]}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;

					case 3:
						foreach( $text AS $tag => $message )
						{
							$list[3][] = <<<HTML
<a onclick="addBBCode(3,'$tag', '{$this->textName}', '{$message[2]}', '{$message[3]}', '{$message[4]}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;
					default:
							$list[1][] = <<<HTML
<a onclick="addBBCode(1,'$tag', '{$this->textName}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
					break;
				}
			}
			return array($list[1],$list[2],$list[3]);
		}
	}

	protected function getPostToolFormat()
	{
		list($list1, $list2, $list3)	=	$this->fetchBBCode();

		if ( count($list1) > 0 )
		{
			$list .= "<tr>\n";
			$list .= "<td>" . implode(" ", $list1) . "</td>\n";
			$list .= "</tr>\n";
		}
		if ( count($list2) > 0 )
		{
			$list .= "<tr>\n";
			$list .= "<td>" . implode(" ", $list2) . "</td>\n";
			$list .= "</tr>\n";
		}
		if ( count($list3) > 0 )
		{
			$list .= "<tr>\n";
			$list .= "<td>" . implode(" ", $list3) . "</td>\n";
			$list .= "</tr>\n";
		}
		return <<<HTML
<table width="{$this->toolWidth}" cellpadding="0" cellspacing="0">
		{$list}	
</table>
HTML;
	}

	final public function getPostMessageBox()
	{
		$list = $this->getPostToolFormat();

		return <<<HTML


<table width="{$this->toolWidth}" cellpadding="5" cellspacing="2">
	<tr>
		<td>
		<div class="textarea">
		<table width="98%" cellpadding="5" cellspacing="2">
			<tr>
				<td>
				{$list}	
				</td>
			</tr>
		</table>
		<table width="98%" cellpadding="5" cellspacing="2">
			<tr>
				<td>
					<textarea cols="80" rows="20" name="{$this->textName}" id="{$this->textName}">{$this->defaultValue}</textarea>
				</td>
			</tr>
		</table>
		</div>
		</td>
	</tr>
</table>

HTML;
	}
}

class textParse
{
	private $parsenl2br = true;

	private $parseBBCode = true;

	private $autoParseURL = true;

	private $stripHTML = true;

	private $bbcode;

	private $allowHtml = true;

	public function __construct( $nl2br = true, $bbcode = true, $stripHTML = false, $allowHtml = false)
	{
		$this->bbcode = new bbcode();
		if ( is_bool( $nl2br ) )		$this->parsenl2br	=	$nl2br;
		if ( is_bool( $bbcode ) )		$this->parseBBCode	=	$bbcode;
		if ( is_bool( $stripHTML ) )	$this->stripHTML	=	$stripHTML;
		if ( is_bool( $allowHtml ) )	$this->allowHtml	=	$allowHtml;
	}

	final public function parseText( $text )
	{
		if ( $this->stripHTML ) $text = strip_tags( $text );

		if ( !$this->allowHtml ) $text = htmlspecialchars( $text );

		//$text = preg_replace( "/<br>|<br \/>/", "\n", $text );
		
		# First we did hex, now we do url encoded
		# <script
		$text = str_replace(  "%3C%73%63%72%69%70%74", "&lt;script" , $text );
		# document.cookie
		$text = str_replace( "%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65", "document&#46;cookie", $text );
		
		$text = preg_replace( "#javascript\:#is"	, "java script:"	, $text );
		$text = preg_replace( "#vbscript\:#is"		, "vb script:"  	, $text );
		$text = str_replace(  "`"					, "&#96;"       	, $text );
		$text = preg_replace( "#moz\-binding:#is"	, "moz binding:"	, $text );
		$text = str_replace(  "<script"				, "&lt;script"  	, $text );	
		$text = str_replace( "&#8238;"				, ''				, $text );
		$text = str_replace( "<?"					, '&lt;?'			, $text );

		if ( $this->autoParseURL )
		{
			$text = preg_replace_callback( "#(^|\s|>)((http|https|news|ftp)://\w+[^\s\[\]\<]+)#i", array( &$this, 'buildURLManualCallBack' ), $text );
		}

		if ( $this->parsenl2br )
			$text = nl2br( $text );
		else
			$text = str_replace( "\n", "", $text );
			
		if ( $this->parseBBCode ) $text = $this->bbcode->parse($text);

		return $text;
	}

	protected function buildURLManualCallBack( $matches = array() )
	{
		$url = $matches[2] ? $matches[2] : $matches[1];

		if ( mb_strlen($url, 'utf-8') > 50 && $this->bbcode->trimLongURLTag )
		{
			$start	=	mb_substr( $url, 0, 40, 'utf-8' );
			$end	=	mb_substr( $url, -10, 10, 'utf-8');
			$url	=	$start . '...' . $end;
		}

		return '<a href="' . ( $matches[2] ? $matches[2] : $matches[1] ) . '" target="_blank" >' . $url . '</a>';
	}
}
?>

Date : 2009-08-12 14:19:46 By : danya
 


 

No. 13



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


เออ ดูโค้ดแล้ว ยาวๆ ไม่ต้องสน

เพราะผมเอามาจากเว็บผม ที่เตรียมทำไว้

หากใครอยากใช้แบบง่ายๆ ให้ใช้แค่นี้เองนะ

Code (PHP)
<?php

include('./class_bbcode.php');

$bbcode = new textParse();

$text = $bbcode->parseText( stripcslashes($_POST['text']) );

echo $text;

?>

Date : 2009-08-12 14:21:14 By : danya
 


 

No. 14



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


หากใครตาลาย ก็ดาว์นโหลดไปได้

http://www.thaiselected.com/uploads/08-2009/simple_class_bbcode.rar

ทำไว้นาน แต่ยังไม่มีเวลาจะอธิบาย และแจกอะ

กลัวมีคำถามตามมามากมาย เลยดองไว้ 555+
Date : 2009-08-12 14:24:02 By : danya
 


 

No. 15



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


โอมันเยอะมากๆตาลาย+1
Date : 2009-08-12 14:36:19 By : somparn
 


 

No. 16



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


โ้อ้โห ยาวจริงๆ ยาวๆสิดี.... เสียว
Date : 2009-08-12 14:38:48 By : panyapol
 


 

No. 17



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


แบบเพ่ดุนยาเขียนนี้มันเป็นการเขียนเชิงวัตถุเปล่าครับ OOP เห็นมี Class
Date : 2009-08-12 14:45:40 By : somparn
 


 

No. 18



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

stable ยังคับ มีฟีเจอร์อะไรบ้างอ่ะ ขอไปเลยแล้วกัน ++

เอามาแจกด้วย ทุ่มเทจริงๆ
Date : 2009-08-12 14:47:50 By : pjgunner
 


 

No. 19



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


บุคคล ตัวอย่าง
Date : 2009-08-12 15:05:29 By : plakrim
 


 

No. 20

Guest


ผมเจอตัวนี้แน่ะ
http://www.christian-seiler.de/projekte/php/bbcode/download.html


วิธีใช้
http://www.christian-seiler.de/projekte/php/bbcode/doc/phpdoc/index.php
Date : 2009-08-12 15:13:39 By : vee
 


 

No. 21



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


จิงๆ มันแอด bbcode เพิ่มเติมไดด้วยนะ

ใช้ฟังค์ชั่นนี้

addTag($type, $tag, $html)

ลองแกะโค้ดเองว่า ใช้ยังงัย

ยังไม่มีเวลาอธิบายมากอะ 55+

อะ ยกตัวอย่าง

จะเพิ่ม tag s ขีดฆ่า

ก็

$bbcode->addTag('1','s','< strike>{message}< /strike>');

เลข 1 คือ bbcode โดยไม่ใช้ option
เลข 2 คือ bbcode แบบใช้ option

ใช้งานก็

[ s]ขีดฆ่ามันให้ตายซ่ะ[ /s]

จะได้

< strike>ขีดฆ่ามันให้ตายซ่ะ< /strike>
Date : 2009-08-12 15:13:59 By : danya
 


 

No. 22



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

เจ๋งๆ

ครบครันจริงๆ งั้นขอเอาไปก่อนนะคับ
Date : 2009-08-12 15:30:54 By : pjgunner
 


 

No. 23



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เอาด้วยๆ ชอบเอา
Date : 2009-08-12 17:03:59 By : panyapol
 


 

No. 24



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบพระคุณอย่างสูงครับ แล้วผมก็ได้นำเอาไปใช้แล้วครับ ใช้ดีไม่มีปัญหาครับ

เนื่องจาก เรื่อง oop ผมไม่เอาถ่านเลยอ่ะครับ

เลยขอรบกวนอีกนิดหนึ่งว่า

ช่วย add code สำหรับ quote ด้วยให้หน่อยได้ไหมครับ ปกติตาม code ด้านบนมันไม่มี function สำหรับ quote ใช่ไหมครับ (ถ้ามีก็แปลว่ามันไม่ work อ่ะครับ ) แบบว่าข่วย เขียน code เลยให้ก็ดีครับและบอกด้วยน่ะครับว่าใส่ที่บรรทัดใหน เพราะผมอ่าน ตัวอย่างการ add strike ผมไม่เข้าใจเลยอ่ะครับ

รบกวนหน่อยน่ะครับมือใหม่หัดซิ่งครับ อิอิ
Date : 2009-08-12 23:19:43 By : cjmling
 


 

No. 25



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ดุนยาๆอยู่ไสๆ มาช่วยตอบหน่อย
Date : 2009-08-12 23:23:50 By : panyapol
 


 

No. 26



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


[ quote=ชื่อคนโพสท์]
ข้อความ
[ /quote]
Date : 2009-08-12 23:35:57 By : danya
 


 

No. 27



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


ผมอับไฟล์ใหม่นะครับ

ดาว์นโหลดเลย

พร้อมตัวอย่างการ addTag เพิ่ม

ให้เอาไฟล์ class ทับไฟล์เดิมด้วยนะ

http://www.danya-reload.com/home/filehost/showfile.php?action=detail&id=113&name=simple_class_bbcode v1.1.rar
Date : 2009-08-12 23:44:48 By : danya
 


 

No. 28



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


วิธีการแอด

Code (PHP)
<?php
	$bbcode = new textParse();
	
	// เพิ่ม tag [s]
	$bbcode->bbcode->addTag('1','s','<strike>{message}</strike>');


	$text = $bbcode->parseText( stripcslashes($_POST['text']) );
?>


เมือเพิ่มแล้ว จะสามารถใช้ [ s] ได้เลย

หมายเหต:: ให้แก้ไข private $bbcode ใน class textParse เป็น public ด้วยนะ

แต่ถ้าโหลดใหม่จากหน้านี้ ไม่ต้องแก้ไขใดๆ ทั้งสิ้น เพราะผมแก้บัคไว้แล้ว
http://www.danya-reload.com/home/filehost/showfile.php?action=detail&id=113&name=simple_class_bbcode%20v1.1.rar
Date : 2009-08-12 23:47:56 By : danya
 


 

No. 29

Guest


ขอบพระคุณอย่างสูงครับ quote ใช้ได้แล้วครับ วิธีการ add tag ก็เข้าใจหล่ะครับ

forum ของผมก็แทบจะสมบูรณ์ทุกประการณ์แล้วเหลือแต่ smiley เท่านั้นเอง ถ้าท่านมี script เพื่อ add smiley หรือตัวดุกดิกด้วยก็ขอรบกวนอีกครั้งน่ะครับ

ผมคงไม่ถามให้งงน่ะครับ ก็อยากได้แบบที่ว่า พิมพ์ : geek : ไปแล้วก็ให้มันแปลงเป็นตัว smiley หรือ ตัวดุ๊กดิ๊กตอน echo message ออกมาอ่ะครับ

รบกวนอีกทีน่ะครับ อย่าเพิ่งรำคาญผมหล่ะ คือผมพยายามแล้วอ่ะครับ forum ทั้ง forum ก็เขียนเองหมด แต่มาจมอยู่ตรง bbcode กะ smiley เนียะแหละครับ

รบกานหน่อยน่ะท่าน
Date : 2009-08-13 20:31:22 By : cjmling
 


 

No. 30



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมว่าผมได้ idea แล้วหล่ะ ครับ แทนที่จะใช้ คำอย่าง : smile : ผมใช้ tag [ img][/img ] ไปเลยก็ได้เนอะ อิอิ

พอ click ที่ รุป smiley ปั๊บก็ add tag [ img] พร้อม link รูป เข้าปั๊บ

idea ง่ายๆ ของผมหวังว่าจะ work น่ะ อิอิ
Date : 2009-08-13 21:18:17 By : cjmling
 


 

No. 31

Guest


คุณเพ่ ling ต้องการเพิ่ม emotion หรือเปล่าครับ ถ้าใช้เดียวผมจะเอาโค้ดที่ผมใช้มาให้ล่ะกันนะคับ
Date : 2009-08-13 22:17:46 By : phpbasic
 


 

No. 32



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


อยากรู้วิธีการใส่ Emoticon ให้ดาว์นโหลด ไฟล์นี้ครับ

ต้องสมัครก่อนนะ

http://www.danya-reload.com/home/article/viewArticle.php?id=43
Date : 2009-08-13 22:41:01 By : danya
 


 

No. 33

Guest


Quote:
คุณเพ่ ling ต้องการเพิ่ม emotion หรือเปล่าครับ ถ้าใช้เดียวผมจะเอาโค้ดที่ผมใช้มาให้ล่ะกันนะคับ


ใช่ครับท่าน รบกวนหน่อยน่ะครับ

Quote:
อยากรู้วิธีการใส่ Emoticon ให้ดาว์นโหลด ไฟล์นี้ครับ

ต้องสมัครก่อนนะ

http://www.danya-reload.com/home/article/viewArticle.php?id=43


ขอบคุณมากครับ เดี๋ยวพยายามแกะ code มาแล้วจะแปลงใช้ดูครับ
Date : 2009-08-14 12:14:45 By : cjmling
 


 

No. 34



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมใช้แค่นี้อ่ะครับแบบง่ายๆ(ผมก็ไม่เองอะคับ)
Code (PHP)
<?php
<script language='javascript'>
function addemo(x){
	document.from1.text.value = document.from1.text.value +" "+ x;
	document.from1.text.focus();
	return false();
	}
</script>

//โชว์emotion
<a href="javascript:addemo('a;')"><img src="../image/emotion/a.gif" border="0"></a>
<a href="javascript:addemo('b;')"><img src="../image/emotion/b.gif" border="0"></a>
<a href="javascript:addemo('c;')"><img src="../image/emotion/c.gif" border="0"></a>

//แสดง emotion 
$emo="<img src='../image/emotion/a.gif'>";
$text=str_replace("a;",$emo,$text);
$emo="<img src='../image/emotion/b.gif'>";
$text=str_replace("b;",$emo,$text);
$emo="<img src='../image/emotion/c.gif'>";
?>


ผมใช้แบบนี้อ่ะครับพอได้เปล่าครับ
Date : 2009-08-14 12:27:50 By : somparn
 


 

No. 35



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


พิมพ์ผิด (ผมก็ไม่เองอะคับ) ต้องเป็น (ผมก็ไม่เก่งอะคับ)

Date : 2009-08-14 12:30:23 By : somparn
 


 

No. 36



โพสกระทู้ ( 94 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณมากครับท่าน phpbasic , ดุนยา และท่านอื่นๆอีก ที่ช่วยมาเป็นกำลังใจครับ

ผมทำได้แล้วครับ หวังว่ากระทู้นี้จะป็นประโยชน์ต่อท่านอื่นในอนาคตด้วยน่ะ อิอิ

ตอนนี้ forum ผมก็เสร็จสมบูรณ์หล่ะครับ ขอบคุณมากครับทุกท่าน

***หมายเหตุตอน post ครั้งแรกทำไมมันขึ้นเป็น guest หว่าทั้งๆที่ ก็ login อยู่น่ะ
Date : 2009-08-14 13:20:27 By : cjmling
 


 

No. 37



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อย่าเปิดหน้าจอ ค้างไว้นานๆครับ
Date : 2009-08-14 13:38:06 By : panyapol
 


 

No. 38



โพสกระทู้ ( 247 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

FCKeditor ก็ ดี ครับ

แนะนำ

ปล. ผมใช้ไม่เป็น
Date : 2009-09-29 17:51:02 By : icman
 


 

No. 39



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
$this->tag = array(                                        
'1' => array(                                                       
'b'     =>   array('ตัวหนา', 'bold.gif'),                                                        
'i'     =>   array('ตัวเอียง', 'em.gif'),                                                       
'u'     =>   array('ขีดเส้นใต้', 'underline.gif'),                                                        
'left'  =>   array('จัดข้อความชิดซ้าย', 'left.gif'),                                                     
'center'=>   array('จัดข้อความชิดกลาง', 'center.gif'), 
421.                                                        
'right' =>   array('จัดข้อความชิดขวา', 'right.gif'), 
422.                                                        
'img'   =>   array('รูปภาพ', 'img.gif'),                                                         
'email' =>   array('อีเมล์', 'email.gif')                                                   
),                                    
'2' => array(                                                      
'color' =>   array('สีข้อความ', 'color.gif', 'ป้อนสี'),                                                 
'quote' =>   array('อ้างอิงข้อความ', 'quote.gif', 'ใส่ชื่อเจ้าของข้อความ'),                                              
'url'   =>   array('ลิงค์', 'url.gif','ป้อนลิงค์'),                                              
'code'  =>   array('โค้ด', 'code.gif','ป้อนภาษาที่เขียน เช่น php, js, asp, sql, css')                                                 
),                                      
'3' => array(                                                    
'list' => array('ลิส์แบบลำดับ','orderlist.gif','ป้อนประเภทลิสท์ เช่น 1, a, A, i, I','li','ป้อนรายการ')                                                    
)                                   
); 
} 


ขอถามสักนิตย์นะครับตรงนี้คือไรหรือครับ.....ดูหลายรอบแล้วครับ....งง อยู่นะ
Date : 2010-05-17 09:45:28 By : tuanau
 


 

No. 40



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีคนตอนเราบ้างเลยนะครับ....


ช่วยสอนสักนิตย์นะครับ..
Date : 2010-05-27 11:09:19 By : tuanau
 


 

No. 41



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


คำอธิบายรูปมั้งครับ
Date : 2010-05-28 09:27:47 By : yomaster
 


 

No. 42



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


..คุณดุนยา..ผมขอไฟล์จาวา..ชื่อนี้นะครับ..มันขาดอยู่นะ bbcode.js


Code (PHP)
private function fetchBBCode()
	{
		if ( count($this->tag) > 0 )
		{
			foreach( $this->tag AS $type => $text )
			{
				switch ( $type )
				{
					case 1:
						foreach( $text AS $tag => $message )
						{
							$list[1][] = <<<HTML
<a onclick="addBBCode(1,'$tag', '{$this->textName}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;

					case 2:
						foreach( $text AS $tag => $message )
						{
							$list[2][] = <<<HTML
<a onclick="addBBCode(2,'$tag', '{$this->textName}', '{$message[2]}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;

					case 3:
						foreach( $text AS $tag => $message )
						{
							$list[3][] = <<<HTML
<a onclick="addBBCode(3,'$tag', '{$this->textName}', '{$message[2]}', '{$message[3]}', '{$message[4]}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
						}
					break;
					default:
							$list[1][] = <<<HTML
<a onclick="addBBCode(1,'$tag', '{$this->textName}'); return false;" href="javascript:void(0);"><img src="{$this->imgURL}/{$message[1]}" title="{$message[0]}" alt="{$message[0]}" border="0" /></a>
HTML;
					break;
				}
			}
			return array($list[1],$list[2],$list[3]);
		}
	}



เพราะว่า.......addBBCode(); มันไม่มีนะครับ.........ขอด้วยนะครับ..ขอบคุณมากครับ
Date : 2010-06-04 19:36:45 By : tuanau
 


 

No. 43



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ
Date : 2011-04-22 14:30:35 By : badkung04
 


 

No. 44



โพสกระทู้ ( 1 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
<html>

<body>
<font color="#FF0000">post html</font>
</body>

</html>

Date : 2011-12-21 11:26:52 By : test
 


 

No. 45

Guest


มายาวเชียว บางทีเทพเกินไปก็ทำอะไรที่เกินไป งงป่าว อิอิ ดินสอก็ใช้แทนปากกาได้เช่นกันท่านเทพทั้งหลาย
Date : 2013-06-28 19:19:09 By : ไม่เทพแต่งง
 


 

No. 46



โพสกระทู้ ( 54 )
บทความ ( 0 )



สถานะออฟไลน์


เราต้องทำ โครงร่างไว้ก่อนใช้มั้ยครับ เอา code ไปแปะยังใช้ ไม่ได้ใช่ป่าวครับ
Date : 2015-01-18 01:50:38 By : tumjuk
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนเรื่อง bbcode หน่อยครับ พอดีผมทำ forum ขึ้นมาเองอ่ะครับ แต่อยากได้ script เพื่อใส่ bbcode ลงไปอ่ะครับ อ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่