|
|
|
ใครเซียนเว็บบอร์ดช่วงเข้ามาดูหน่อยครับ พอดีผมเขียนเว็บอร์ดแบบง่าย ๆ ใช้เองอ่ะครับ |
|
|
|
|
|
|
|
ต้องใช้ ฟังก์ชั่น เช็คก่อน มั้งครับ ถ้าจำไม่ผิด
|
|
|
|
|
Date :
2009-12-29 23:27:39 |
By :
yomaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bbcode ใช้ http://www.christian-seiler.de/projekte/php/bbcode/download.html
|
|
|
|
|
Date :
2009-12-30 01:30:48 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนฟังก์ชันแปลง bbcode เป็น html ครับ
ใช้ str_replace() ในการแทนที่ครับ
1. อันนี้เป้นวิธีง่ายสุด ไม่มีเงื่อนไขใดๆผูกพัน
Code (PHP)
$text ='[ b ]test[ /b ]';
$text =str_replace("[ b ]","</b>",$text);
$text =str_replace("[ /b ]","</b>",$text);
echo $text;
ข้อเสียของวิธีที่ 1 ก็คือ เวลาไม่มีตัวจบ [ /b ]จะทำให้ข้อความตั้งแต่ [ b ]xxxxเป็นต้นไปแสดงเป็นตัวหนาไปด้วย ซึ่งเราไม่ต้องการยังงั้น
วิธีแก้ครับใช้เงื่อนไขการเข้าคู่กันระหว่าง tag [ b ]xx[/ b ] ไปด้วยครับ ตัวอย่าง
Code (PHP)
$text= "[ b ]bold1[ /b ] nobold[ /b ]nobold[ b ] bold2[ /b ][ b ]nobold";
$patterns="/\[b\](.*?)\[\/b\]/is";
$replacements="<b>$1</b>";
$text = preg_replace($patterns,$replacements, $text);
echo $text;
ปัญหาต่อไปคือต้องเข้าใจ regular expression ด้วยครับ การเขียเงื่อน pattern ต่างๆ แต่ถ้าคนไม่เป็นแล้วมองดูคร่าวๆ ก็พอแก้ไขได้ครับ
ปล. [ b ] [ \b ]พิมติดกันด้วยละ ในบอร์ดนี้พิมติดไม่ได้ไม่งั้นจะถูกเปลี่ยนเป็น <b>แล้วมองไม่เห็ฯครับ
|
|
|
|
|
Date :
2009-12-30 01:58:59 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|