ลองตามนี้เลยครับ คุณSvZได้กล่าวไว้คร่าวๆ
แต่ผมลองทำแล้วก็ยังไม่ได้ผลครับ
ท่านไปลองดูครับ ถ้าเก่งๆCodeน่าจะทำได้
ผมต้องขออนุญาตทางทีมงานไทยเสียวก่อนน่ะครับที่เอามาแจก ผิดถูกอย่างไรตักเตือนได้เลย
เนื่องด้วย
อยากได้ mod linkpr เเบบไทยเสียวจัง เริ่มเลยน่ะครับ
เปิดไฟล์
Sources/Subs.phpมองหาโค๊ด
// If it wasn't changed, no copying or other boring stuff has to happen!
if ($data != substr($message, $last_pos, $pos - $last_pos + 1))
{
$message = substr($message, 0, $last_pos) . $data . substr($message, $pos + 1);
// Since we changed it, look again incase we added or removed a tag. But we don't want to skip any.
$old_pos = strlen($data) + $last_pos - 1;
$pos = strpos($message, '[', $last_pos);
$pos = $pos === false ? $old_pos : min($pos, $old_pos);
}
}
จากนั้นเติมโค๊ดของผมในบรรทัดถัดมาว่า....
/*
*****************************************************
Linkpr got idea from thaiseoboard.com
By SvZ - 2008
*****************************************************
$_SERVER['svz']['go'] = 'your redirect script here!';
*****************************************************
*/$_SERVER['svz']['go'] = '/go.php?';
$message = preg_replace(array('~\[direct\](.*?)\[/direct\]~','~\[direct\=(.*?)](.*?)\[/direct\]~'),array('[iurl=$1]$1[/iurl]%svz%2','[iurl=$1]$2[/iurl]%svz%2'),preg_replace_callback('~\[url=(.*?)\](.*?)\[/url\]~',create_function('$m','$go=$_SERVER[\'svz\'][\'go\'];$v=@parse_url($m[1]);return (!preg_match(\'~^\'.$go.\'~\',$m[1])&&$_SERVER[\'HTTP_HOST\']!=$v[\'host\'])?\'[url=\'.$go.$m[1].\']\'.$m[2].\'[/url]%svz%1\':\'[url=\'.$m[1].\']\'.$m[2].\'[/url]\';'),preg_replace('~\[url\](.*?)\[/url\]~','[url=$1]$1[/url]',$message)));
$message = str_replace (array('%svz%1', '%svz%2'), array(' [pr]', ' [direct]'), $message);
เสร็จแล้วครับ!ที่เหลือก็คือการแก้ไขชื่อสคริปต์ไฟล์สำหรับ redirect
$_SERVER['svz']['go'] = '
/go.php?';
ตรวจสอบ path ของไฟล์ดี ๆ น่ะครับ
อธิบายระบบคร่าว ๆ- ลิงค์ทั้งหมดเมื่อคลิ๊กจะผ่าน go.php? ก่อน...
สำหรับ go.php ลองดูบทความ
อยากทราบ Code การทำ go.php ก่อนลิงค์ไปหน้าอื่น - ดังนั้นลิงค์ที่จะไม่ผ่าน go.php ต้องใช้แท๊ก [direc
t=url]text[/di
rect] เท่านั้น
แต่ในบอร์ดไทยเสียวใช้ [direct]url[/direct] ไม่ได้ ผลการใช้ $2 ในไทยเสียวซึ่งผมได้ทำการแก้ bug นี้แล้ว
-
ที่ไม่เหมือนกับของที่นี่คือสคริปต์จะไม่ไปหา go.php ถ้าลิงค์นั้นอยู่ในโดเมนของเราเอง(เช่นผมลิงค์ในบอร์ดไปหากระทู้นึงก็จะไม่มีการผ่าน go.php เลย)
การเปลี่ยนข้อความหลังลิงค์ในส่วนของ...
$message = str_replace (array('%svz%1', '%svz%2'), array(' [pr]', ' [direct]'), $message);สามารถแก้ไขได้เป็น
$message = str_replace (array('%svz%1', '%svz%2'), array(' [ลิงค์ pr]', ' [ลิงค์ direct]'), $message);ตรง
[ลิงค์ pr] กับ
[ลิงค์ direct] สามารถใส่เป็น bbcode ได้ครับ
ขอบคุณเจ้าของบทความอื่น ๆ ที่เกี่ยวข้องครับ
มีปัญหาการใช้งาน แจ้งได้น่ะครับ
ป.ล. กว่าจะโพสต์ได้ ต้องแก้หลายรอบเพราะติดตรง bbcode ที่บอร์ดนี้