사전기능이 그누보드에서도 구현가능한가요?? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

사전기능이 그누보드에서도 구현가능한가요?? 정보

사전기능이 그누보드에서도 구현가능한가요??

본문

그누보드를 쓰고 싶어서 요즘 계속 고민하고 있는데, 제 홈페이지에서 중요한 기능인 사전기능이 구현되지 않아서 아직 그누보드로 갈아타지 못하고 있습니다.
제가 잘 몰라서 제로보드 팁 짜집기로 홈피를 만들고 있는데
아래 기능을 그누보드로 바꿀 능력은 도저히 -_-;;;;
 
사전기능은 특정게시판에 사전에 등록될 단어를 등록하면,
다른 게시판 내용 중 그 단어가 나올때 사전으로 사용하는 게시판의 게시물 내용이 링크되는 기능입니다.
 
참고로 제 홈페이지입니다.
 
 
-------------------------------------------------
 
 
 
 
이곳에서 너무 좋은 정보들을 얻고있습니다.
홈페이지를 운영하면서 특정 전문용어가 자주 사용되는데, 그것들을 일반인들에게 쉽게 설명할 수 있는 방법이 없을까 항상 고민을 하다가, 리디님의 홈페이지에서 키워드 기능이 있는 소스를 보게 되었답니다.
리디님의 방식은 텍스트를 저장해서 하는 방법이고,
저는 키워드 게시판을 따로 만들어서 그 게시판의 내용을 뿌려주는 방법을 선택했습니다.
제일 막혔던 부분은 정규표현식이었습니다. 솔직히 아직도 정규표현식이 뭔지 모릅니다.
하다가 안되어서 리디님의 소스를 수정하는 식으로 몇시간의 노가다를 하니 해결이 되더군요...
제가 소스를 막 수정해서 별로 도움이 안될지도 모르겠습니다.
더 효과적으로 수정해주시면 더더욱 감사하구요.
preg_replace 함수는 많이 사용하면 홈페이지 로딩이 느려진다는 말도 있더라구요.
이게 얼마나 많이 느려질지는 모르겠는데... 이런 기능이 있다는 것도 어디예요 ^^;
깜빡하고 안적었던게 있었는데요,
1. 반드시 하나 이상의 게시물을 올려야 합니다. (띄여쓰기가 되는지의 여부는 검사를 못해봤네요)
2. 태그를 로컬 키워드로 적어주면 깨져보일 위험이 있어요. <-- 더 잘하시는분이 있으시다면 수정을 해주심도.. 어떨까요.. ^^;
3. 방금 테스트 해보니, 띄어쓰기가 들어간 단어도 검색이 가능하군요... 무척 신기합니다. ㅡ,ㅡ;;;
사전 등록사이트는
http://attle.co.kr/bbs/zboard.php?id=testviewdic
둘 다 열어서 보시면 이해하시기 쉬울거예요

가) 위키위키처럼 단어를 누르면 바로 홈페이지로 이동하게 하려면 아래 주석을 삭제해주시구요,
    (사이트링크 1 기능을 활성화 하셔야합니다.)
 
나) 단어를 누르면 새창이 떠서 단어의 의미가 보이게 하려면 그 아래 주석을 보시면 됩니다.

0. 준비물
해당skin의 view.php파일
키워드 단어들을 등록할 게시판 1개
아래 해당 스킨폴더에 들어갈 dic_view.php파일 1개

1. 스킨의 view.php파일을 수정해준다.
view.php파일의 윗부분에 아래를 넣어주세요.
******************** 여기에서부터
<?
//메모키워드기능사용
$dic_id = "새로운사전게시판아이디";
$dic_result=mysql_query("select subject, no, sitelink1 from zetyx_board_$dic_id");
$i=0;
while($dic_data=mysql_fetch_array($dic_result)) {
$local_keyword[$i] = "/".trim($dic_data[0])."/i";
//위키위키처럼보이게하기
$local_wiki[$i] = "<a href='".trim($dic_data[2])."' title='".trim($dic_data[0])."(으)로 이동합니다' target=_blank><font color='red'><b>".trim($dic_data[0])."</b></font></a>";
//사전처럼 보이게하기
$local_dic[$i] = "<a onfocus=blur() href="javascript:void(window.open('".$dir."/dic_view.php?id=".$dic_id."&no=".trim($dic_data[1])."','member_on','width=220,height=400,status=no,toolbar=no,resizable=no,scrollbars=yes'))"><font color='red'><b>".trim($dic_data[0])."</b></font></a>";
if($dic_data[sitelink1]){
$local_link[$i] = $local_wiki[$i];
} else {
$local_link[$i] = $local_dic[$i];
}
$i++;
}
$memo=preg_replace($local_keyword,$local_link,$memo);
?>
******************** 여기까지

dic_view.php 파일 은 여기에서부터 복사해서 새 파일로 만들어주세요 적용할 스킨의 폴더에 저장해주세요.. 임의로 이쁘게 수정하세요 ^^********************

<?
$_zb_url = "http://주소/bbs/";
$_zb_path = "/절대경로/bbs/";
   include $_zb_path."outlogin.php";
?>
<?
mysql_select_db("디비이름");
$result=mysql_query("select * from zetyx_board_$id where no=$no");
$data=mysql_fetch_array($result);
$name=stripslashes($data[name]);
$dir2 = $_zb_url."icon/private_name/";
if(@file_exists($dir2.$data[ismember].".gif")) $temp_name = $dir2.$data[ismember].".gif";
else $temp_name="";
if($temp_name) $name="<img src='$temp_name' border=0 align=absmiddle>";
$memo=nl2br(stripslashes($data[memo]));
$subject=stripslashes($data[subject]);
$filename1 = $data[file_name1];
$filename2 = $data[file_name2];
$sitelink1 = $data[sitelink1];
$sitelink = $data[sitelink2];
if(eregi(".gif|.jpg",$filename1))$upload_image1 = "<img src=".$_zb_url.$filename1." border=0><br><br>"; else $upload_image1="";
if(eregi(".gif|.jpg",$filename2))$upload_image2 = "<img src=".$_zb_url.$filename2." border=0><br><br>"; else $upload_image2="";
?>
<html>
<head>
<link rel="stylesheet" href="http://<?=$_SERVER[HTTP_HOST]?>/print.css" type="text/css">
<title>Dictionary</title>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<table align=center cellspacing=0 cellpadding=5 width=100% height="100%">
<tr><td bgcolor=#666666 align=left height="20">
<font color=white><b><?=$subject?></b></font></td></tr>
<tr><td height-"100%" height="100%" bgcolor="#CCCCCC">
<table style="border-collapse:collapse;" bgcolor=ffffff cellspacing="0" cellpadding="5" width="100%" height="100%" bordercolordark="white" bordercolorlight="black" cellpadding="0">
<tr><td valign="top">
<p><?=$memo?></p>
</td></tr></table>
</td></tr></table>
</body>
</html>

*************************** 여기까지
 
코멘트는 view_comment.php에
 
<?
//메모키워드기능사용
$dic_id = "새로운사전게시판아이디";
$dic_result=mysql_query("select subject, no, sitelink1 from zetyx_board_$dic_id");
$i=0;
while($dic_data=mysql_fetch_array($dic_result)) {
$local_keyword[$i] = "/".trim($dic_data[0])."/i";
//위키위키처럼보이게하기
$local_wiki[$i] = "<a href='".trim($dic_data[2])."' title='".trim($dic_data[0])."(으)로 이동합니다' target=_blank><font color='red'><b>".trim($dic_data[0])."</b></font></a>";
//사전처럼 보이게하기
$local_dic[$i] = "<a onfocus=blur() href="javascript:void(window.open('".$dir."/dic_view.php?id=".$dic_id."&no=".trim($dic_data[1])."','member_on','width=220,height=400,status=no,toolbar=no,resizable=no,scrollbars=yes'))"><font color='red'><b>".trim($dic_data[0])."</b></font></a>";
if($dic_data[sitelink1]){
$local_link[$i] = $local_wiki[$i];
} else {
$local_link[$i] = $local_dic[$i];
}
$i++;
}
$c_memo=preg_replace($local_keyword,$local_link,$c_memo);
?>
  • 복사

댓글 전체

^^
여러가지 기능을 추가 하다보니 안정화가 안되어 공식적인 배포는 못하고
테스트 하실분만 비공개? 로 다운로드 할수 있도록 해두었습니다.

다운로드
http://avaschool.net/web/sub_data/board.php?bo_table=test_board&wr_id=17

설치/설정관련
http://avaschool.net/web/sub_data/sub_board.html?bo_table=test_board&wr_id=11
감사하게 사용하려고 합니다. ^^

아직 안정화중이라면 더 멋진 녀석이 나올수도 있겠군요!!.

제가 위에 올린 스크립트처럼

링크1에 데이터가 있으면 링크1으로 연결되고,

링크1에 데이터가 없으면 백과사전으로 연결되는 기능도 있으면 더 요긴하게

쓸 수 있을 것 같다는 생각을 해봤습니다.
© SIRSOFT
현재 페이지 제일 처음으로