|
|
|
ใครมี script เปลี่ยน bbcode เป็น html บ้างครับ ขอซื้อต่อหน่อย |
|
|
|
|
|
|
|
โค้ดแปลง bbcode หาไม่ยากหรอกครับ
<?php
class BbCode //by num
{
var $bb = array(
'b'=>array('/\[b\](.+?)\[\/b\]/is','<span class="bold">$1</span>'),
'i'=>array('/\[i\](.+?)\[\/i\]/is','<span class="italic">$1</span>'),
'u'=>array('/\[u\](.+?)\[\/u\]/is','<span class="underline">$1</span>'),
'img'=>array('/\[img\]\s*(http:.+?)\[\/img\]/i','<img src="$1" />'),
'url'=>array('/\[url\]\s*(http:.+?)\[\/url\]/i','<a href="$1">$1</a>'),
'url2'=>array('/\[url=\s*(http:.+?)\](.+?)\[\/url\]/is','<a href="$1">$2</a>'),
);
var $_CSRF = array('img');
var $_key;
function h($s){
return htmlspecialchars($s);
}
function style(){
$s = '<style type="text/css">'.
'.bold {font-weight:bold;}'.
'.italic {font-style:italic;}'.
'.underline {text-decoration:underline;}'.
'</style>';
return $s;
}
function _bb($backref){
unset($backref[0]);
$a = array();
$n = 0;
while(isset($backref[++$n])) {
if (in_array($this->_key,$this->_CSRF)) {
$backref[$n] = preg_replace('/\?/is','#illegal#', $backref[$n]);
}
$a[] = '$'.$n;
}
$s = str_replace($a,$backref,$this->bb[$this->_key][1]);
return $s;
}
function html($s,$escape=true,$csrf=true,$bb=array())
{
$temp = $this->_CSRF;
if (!$csrf)
$this->_CSRF = array();
if ($escape)
$s = $this->h($s);
if ($bb===array())
$bb = array_keys($this->bb);
foreach($bb as $key){
$this->_key = $key;
$s = preg_replace_callback($this->bb[$key][0],
array($this,'_bb'),$s);
}
$this->_CSRF = $temp;
return $s;
}
}
$s1 = 'bb code string';
$s2 = 'bb code string';
$b = new BbCode();
echo $b->style();
echo $b->html($s1);
echo '<hr/>';
echo $b->html($s2);
?>
|
|
|
|
|
Date :
2010-10-06 22:22:58 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณหนุ่มหายไปซะนานเลยน่ะครับ
สงสัยบอร์ดผมจะเพี้ยนน่ะครับ ลองแก้แล้วยังเพี้ยนเหมือนเดิม
|
|
|
|
|
Date :
2010-10-06 22:42:49 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ๆทุกคน มากนะครับ ติดอยู่นาน
ปล. ขอให้เว็บ thaicreate อยู่คู่ คนไทยไปนานๆๆๆๆๆ ครับ
|
|
|
|
|
Date :
2010-10-07 18:25:25 |
By :
cronaldo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|