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 체크 해야됩니다.
#*************************************************************
# 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
1
댓글 4개
뭐에 쓰는거에요???
phpBB에서 사용된 기능입니다. 텍스트 포맷팅을 하는것인데 html대신
[b]볼드[/b] 이런식으로 입력되면 글자가 굵게 출력됩니다.
아래글은 BBCode 설명입니다.
BBCode란 무엇인가
BBCode는 HTML의 특별한 구현이다. 게시판상에 글을 올릴때 BBCode를 사용할수 있는지는 운영자가 결정한다. 또한 글 양식에서 각 글에 대하여 개별적으로 BBCode를 억제할 수 있다. BBCode는 스타일에 있어 HTML와 흡사하여, 태그는 < 와 > 대신에 대괄호 [ 와 ] 안에 들어가며, 어떤것을 어떻게 표시할 것인지를 강력하게 제어한다. 사용하는 템플레이트에 따라 글 양식의 메시지 영역위에 있는 클릭이 가능한 인터페이스로 BBCode를 글에 추가하는 것이 더 수월해 졌다는 것을 알게 될 것이다.
[b]볼드[/b] 이런식으로 입력되면 글자가 굵게 출력됩니다.
아래글은 BBCode 설명입니다.
BBCode란 무엇인가
BBCode는 HTML의 특별한 구현이다. 게시판상에 글을 올릴때 BBCode를 사용할수 있는지는 운영자가 결정한다. 또한 글 양식에서 각 글에 대하여 개별적으로 BBCode를 억제할 수 있다. BBCode는 스타일에 있어 HTML와 흡사하여, 태그는 < 와 > 대신에 대괄호 [ 와 ] 안에 들어가며, 어떤것을 어떻게 표시할 것인지를 강력하게 제어한다. 사용하는 템플레이트에 따라 글 양식의 메시지 영역위에 있는 클릭이 가능한 인터페이스로 BBCode를 글에 추가하는 것이 더 수월해 졌다는 것을 알게 될 것이다.
태터툴즈에서 보았던 기능이군요!
이젠 그누에도 적용을~*
이젠 그누에도 적용을~*
전혀 불친절하지 않으시군요^^
감사합니다.
감사합니다.