웹사이트 관련 팁들을 모아놓은 곳입니다. 좋은팁 공유 합시다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 186

10

조회 수 : 3190 신고 : 0

profile
작성자 : title: [ani]깜빡이는 표정빽짱구
포인트 : 56933 | 레벨 : 25
소야웹폰트나 각종 무료 웹폰트 사용시 ㅁ<==이런식으로 한자쓸때 깨지는걸 없애주는 소스입니다.
○ 보통 웹폰트를 사용하는 홈페이지에서 한문을 사용시에 <font style=font-family:돋움>金炳允</font> 이렇게 스타일 시트를 지정하죠.
    그렇지 않으면 글씨가 제대로 출력되지 않고 ㅁㅁㅁㅁ 이런식으로 깨져서 나옵니다.
    이걸 위처럼 스타일 시트를 사용하지 않고 그냥 金炳允만 입력시 자동으로 스타일시트를 붙여주는 소스입니다.


○ 제로보드에서의 적용방법

4.1버젼 또는 4.1pl2에서 적용하는 방법입니다. 다른 버젼에서는 위치가 다를것이니 주의해 주십시요.
제로보드에 보시면, include 디렉토리가 있고, 그 안에 list_check.php 파일이 있습니다.

list_check.php 의 아래 부분을 찾습니다. 3~4번째 라인에 있죠.

if($_list_check_included) return;
$_list_check_included = true;

위 부분 아래 줄에 아래의 한자 변환 함수를 삽입합니다.

/****************************************************************************************
* 한자변환함수  
***************************************************************************************/

if (!function_exists("on_change_hanja")) {
function on_change_hanja($src)
{
$strlen = strlen($src);
$change = "";
$check = 0;
for($i=0;$i<$strlen;$i++)
{
$code = ord($src[$i]);
if($code > 0xC9 && $code < 0xFE) //한자
{
if(!$check) {$check=1; $change.="<font face=돋움>"; }
$change.=$src[$i]; $i++; $change.=$src[$i];
continue;
}
else if($check) {$check =0; $change.="</font>";}
if($code < 0xA1) $change.=$src[$i];
else {$change.=$src[$i]; $i++; $change.=$src[$i];}
}
return $change;
}
}
/****************************************************************************************/

그리고, 아래 부분을 찾습니다. 바로 아래에 있죠.

/*********************************************************************************************
* 넘겨지는 데이타에 대한 일괄 정리
********************************************************************************************/

function list_check(&$data,$view_check=0) {
global  $keyword, $sn, $ss, $sc, $setup, $member, $href, $id, $dir, $category_data, $is_admin, $_zbResizeCheck,
$name,$email,$subject, $sort, $prev_no, $no,$homepage, $memo, $hit, $vote, $ip, $comment_num, $sitelink1, $sitelink2,
$file_name1, $file_name2, $file_download1, $file_download2, $file_size1, $file_size2,
$upload_image1, $upload_image2, $category_name, $date, $reg_date, $insert, $icon, $face_image,$number,$loop_number,
$a_file_link1, $a_file_link2, $a_reply, $a_delete, $a_modify, $zbLayer,  $_zbCheckNum,
$_listCheckTime;

$_listCheckTimeStart = getmicrotime();
if($view_check) $setup[only_board]=0;

여기에서...
$_listCheckTimeStart = getmicrotime(); 과 if($view_check) $setup[only_board]=0; 사이에 아래 소스를 넣으세요.

$data[subject] = on_change_hanja($data[subject]); //제목한자변환
$data[memo] = on_change_hanja($data[memo]); //내용한자변환

그럼 이렇게 되겠죠.

$_listCheckTimeStart = getmicrotime();
$data[subject] = on_change_hanja($data[subject]); //제목한자변환
$data[memo] = on_change_hanja($data[memo]); //내용한자변환
if($view_check) $setup[only_board]=0;

이 아랫부분의 내용은 수정하지 않아도 됩니다.




○ 제로보드에서 코멘트에 한자(한문) 적용하기

제로보드 루트에 있는 view.php 수정전 원본소스를 기본으로 하여 289번 ~ 291번 라인 소스입니다.

$_skinTimeStart = getmicrotime();
include $dir."/view_comment.php";
$_skinTime += getmicrotime()-$_skinTimeStart;

위의 소스 바로 윗줄에 즉, 288번째 라인에 아래와 같이 소스를 추가해 주시면 됩니다.

$comment_name=on_change_hanja($comment_name);
$c_memo=on_change_hanja($c_memo);

이렇게 하시면 코멘트의 내용에 한자가 있어도 정상적인 한자로 보여집니다.




○ 제로보드 최근게시물에 한자(한문)사용하기

먼저, 제로보드 루트에 있는 outlogin.php 파일을 열어서 제일 윗부분에 아래의 함수를 추가합니다.

<?
if (!function_exists("on_change_hanja")) {
function on_change_hanja($src)
{
$strlen = strlen($src);
$change = "";
$check = 0;
for($i=0;$i<$strlen;$i++)
{
$code = ord($src[$i]);
if($code > 0xC9 && $code < 0xFE) //한자
{
if(!$check) {$check=1; $change.="<font face=돋움>"; }
$change.=$src[$i]; $i++; $change.=$src[$i];
continue;
}
else if($check) {$check =0; $change.="</font>";}
if($code < 0xA1) $change.=$src[$i];
else {$change.=$src[$i]; $i++; $change.=$src[$i];}
}
return $change;
}
}
?>

위 함수를 추가하기 전 원본소스를 기본으로 하여

210번째 라인 : $memo = stripslashes($data[memo]);

바로 밑에 아래 소스를 추가하세요.

$memo = on_change_hanja($memo);

232번째 라인 : $subject = cut_str(stripslashes($data[subject]),$textlen)."</font></b>";

바로 밑에 아래 소스를 추가하세요.

$subject = on_change_hanja($subject );

위와 같이 수정하시면 최근게시물에서 정상적으로 한자사용이 가능합니다.

출처: 위시님홈
profile 글쓴이 빽짱구

단점이 없는 사람은 장점도 거의 없다 - 에이브러햄 링컨

엮인글 :
https://web.webmini.net/webtip/13935/7d7/trackback
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

첫번째 댓글을 남겨주세요!

List of Articles
번호 제목 글쓴이 날짜 추천 수 조회 수
66 우리나라 검색엔지 title: [ani]깜빡이는 표정빽짱구 2004-03-25 10 4910
65 링크 점선 테투리 없애기!! [3] 톡톡 2004-03-24 17 3155
64 태그용어 title: [ani]깜빡이는 표정빽짱구 2004-03-16 14 2489
63 레벨아이콘 적용하기 (코맨트에도) [1] title: [ani]깜빡이는 표정빽짱구 2004-03-14 13 2485
62 best of best head 파일과 foot 파일 만드는 방법 [6] title: [ani]깜빡이는 표정빽짱구 2004-03-10 68 4122
61 글자위에 마우스 올리면 글자 진하게 하기 title: [ani]깜빡이는 표정빽짱구 2004-03-08 12 2882
60 돌아가는 마우스 title: [ani]깜빡이는 표정빽짱구 2004-03-08 9 2394
59 트래픽을 제대로 알자! [1] title: [ani]깜빡이는 표정빽짱구 2004-03-08 10 2367
58 퍼미션 설정방법 [1] title: [ani]깜빡이는 표정빽짱구 2004-03-07 18 3736
57 홈페이지 첫걸음(계정및 도매인 포워딩) [5] title: [ani]깜빡이는 표정빽짱구 2004-03-07 18 2525
56 html소스를 암호화 시키자. [2] title: [ani]깜빡이는 표정빽짱구 2004-03-07 12 3685
55 글자를 세로로 써보자. [1] title: [ani]깜빡이는 표정빽짱구 2004-03-07 12 2547
54 웹폰트 사용시 깨지는 한자 변환소스 title: [ani]깜빡이는 표정빽짱구 2004-03-07 10 3190
53 best of best 따라다니는 탑메뉴 [1] title: [ani]깜빡이는 표정빽짱구 2004-03-05 26 2397
52 [re] (불투명결과) [1] title: [ani]깜빡이는 표정빽짱구 2004-02-29 12 2376
51 제홈 메인에쓰인 오픈데이 스크립트 [1] title: [ani]깜빡이는 표정빽짱구 2004-02-29 13 2475
50 이시각 지구상의 음식소비자는? title: [ani]깜빡이는 표정빽짱구 2004-02-29 10 2408
49 글자 마퀴스톱! title: [ani]깜빡이는 표정빽짱구 2004-02-29 12 2696
48 best of best 글쓰기창 마우스오버시 늘었다 원래대로... title: [ani]깜빡이는 표정빽짱구 2004-02-29 23 3061
47 best of best 휠을 움직이면 배경색이 바뀌고 클릭하면 원래색으로 title: [ani]깜빡이는 표정빽짱구 2004-02-29 27 2175