BBCODE 적용하기 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

BBCODE 적용하기 정보

BBCODE 적용하기

본문

<?php

#*************************************************************
#                  BBCODE FUNCTION V 0.1
#    AUTHOR:  JUSTIN PALMER
#    WEBSITE:  HTTP://WWW.ISOLATED-DESIGNS.NET/CORE
#    LICENSE: GNU LESSER GENERAL PUBLIC LICENSE http://www.gnu.org/copyleft/lesser.html
#    IF YOU MAKE ANY MODIFICATIONS, FEEL FREE TO SEND THEM TO ME AND I'LL UPDATE THIS THING!
#
#  ALLOWS YOU TO USE BBCODE IN NEWS POSTINGS
#  CURRENTLY SUPPORTS:
#  [b]bold[/b]                                                                                        : BOLD TEXT
#  [i]Italic[/i]                                                                                  : ITALIC TEXT
#  [u]Underline[/u]                                                                                : UNDERLINED TEXT
#  [strike]Text[/strike]                                                                        : STRIKE THROUGH TEXT
#  [color=#ffffff]Colored Text[/color]                                          : COLORED TEXT
#  [email]http://www.purephotoshop.com[/url]
[url=http://www.purephotoshop.com]Purephotoshop[/url]
[quote]Hey, this is a quote![/quote]
[size=3]Size[/size]
');
*/
function bbcode($string){

$string = $string;

$patterns = array(
'`\[b\](.+?)\[/b\]`is',
'`\[i\](.+?)\[/i\]`is',
'`\[u\](.+?)\[/u\]`is',
'`\[strike\](.+?)\[/strike\]`is',
'`\[color=#([0-9]{6})\](.+?)\[/color\]`is',
'`\[email\](.+?)\[/email\]`is',
'`\[img\](.+?)\[/img\]`is',
'`\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]`si',
'`\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]`si',
'`\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]`si',
'`\[flash=([0-9]+),([0-9]+)\](.+?)\[/flash\]`is',
'`\[quote\](.+?)\[/quote\]`is',
'`\[indent](.+?)\[/indent\]`is',
'`\[size=([1-6]+)\](.+?)\[/size\]`is'
);

$replaces =  array(

'<strong>\\1</strong>',
'<em>\\1</em>',
'<span style="border-bottom: 1px dotted">\\1</span>',
'<strike>\\1</strike>',
'<span style="color:#\1;">\2</span>',
'<a href="mailto:\1">\1</a>',
'<img src="\1" alt="" style="border:0px;" />',
'<a href="\1\2">\6</a>',
'<a href="\1\2">\1\2</a>',
'<a href="http://\1">\1</a>',
'<object width="\1" height="\2"><param name="movie" value="\3" /><embed src="\3" width="\1" height="\2"></embed></object>',
'<strong>Quote:</strong><div style="margin:0px 10px;padding:5px;background-color:#F7F7F7;border:1px dotted #CCCCCC;width:80%;"><em>\1</em></div>',
'<pre>\\1</pre>',
'<h\1>\2</h\1>'
          );


$string = preg_replace($patterns, $replaces , $string);

return $string;
}
?>

간단한 BBCODE 펑션입니다. 구링으로 찾았네요 ;;

위 소스를 복사해서 그누디렉토리/lib/bbcode.php
로 저장해 주세요
설명은 위 내용을 참고하셔서 사용하시면 됩니다.

게시판에 적용하려면
view.skin.php 파일을 열어서  상단의 내용을 아래와 같이 수정해주세요

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once $g4[path]."/lib/bbcode.php";    //추가

<span class="ct lh"><b><?=bbcode("$view[content]");?></b></span>
본문 출력부분을 위와 같이 변경하면 됩니다.

BBCODE가 정확하게(?) 동작하려면 쓰기에서 html 체크 해야됩니다.
추천
1

댓글 4개

phpBB에서 사용된 기능입니다. 텍스트 포맷팅을 하는것인데 html대신
[b]볼드[/b] 이런식으로 입력되면 자가 굵게 출력됩니다.

아래은 BBCode 설명입니다.
BBCode란 무엇인가
BBCode는 HTML의 특별한 구현이다. 게시판상에 을 올릴때 BBCode를 사용할수 있는지는 운영자가 결정한다. 또한 양식에서 각 에 대하여 개별적으로 BBCode를 억제할 수 있다. BBCode는 스타일에 있어 HTML와 흡사하여, 태그는 < 와 > 대신에 대괄호 [ 와 ] 안에 들어가며, 어떤것을 어떻게 표시할 것인지를 강력하게 제어한다. 사용하는 템플레이트에 따라 양식의 메시지 영역위에 있는 클릭이 가능한 인터페이스로 BBCode를 에 추가하는 것이 더 수월해 졌다는 것을 알게 될 것이다.
전체 4 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT