[10원짜리 팁] rich_content 사용하기 -초보자용 > 그누4 팁자료실

그누4 팁자료실

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

[10원짜리 팁] rich_content 사용하기 -초보자용 정보

[10원짜리 팁] rich_content 사용하기 -초보자용

본문

뷰페이지에서 첨부 이미지를 출력할 위치흫 미리 정해서 사용할 수 있는데요
(내용 입력시 , 과 같이 출력할 위치에 첨부이미지 순번을 입력함)
첨부 이미지 중 일부만 위와 같이 사용하고 싶은 경우 아래와 같이 합니다
 
        <?
        // 파일출력 ...kt7264
  $rich=true; //rich_content 사용하지않을 경우 false;
        for ($i=0; $i<=count($view[file]); $i++) { $richimg='';
     if ($view[file][$i][view]){
        $richimg="{이미지:$i}";
       if(!$rich || ($rich && strpos(  $view[content], $richimg)===false) )
                echo $view[file][$i][view] . " <p>";
     }
        }
        ?>
        <!-- 내용 출력 -->
        <span id="writeContents">
             <? if($rich) echo $view[rich_content]; else echo $view[content]; ?>
        </span>
        <!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
추천
6

댓글 8개

헉!!!!!!!!!!! 리치컨텐츠에 대해 그누보드를 쓴지 2년만에 처음 알았습니다.
증~~말로 감사드립니다.
초보를 벗어난 줄 알았더니 아직도 초보였군요...^^;;
{이미지:0}
{이미지:1}
...
형식을...


<그림1>
<그림2>
...
형식으로 바꾸려면 어떻게 수정하면 되나요?

오래전에 올리신 글과 비교를 해봐도... 초보라 모르겠네요~
/bbs/view.php 127번째줄

$view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);

이곳에서 수정하는 것 같네요.
균이님 덕분에 리치 컨텐츠를 사용해 보려고 합니다.
그런데...기본 스킨에 적용하면 잘 작동 하지만 제가 따로 제작한 스킨에 적용하려다 애를 먹고 있습니다^^;;

일단 제 상황은... 뷰페이지에서 이미지를 클릭해도 새창으로 원본이 뜨지 않도록 하기위해
$view[file][$i][view] =str_replace("name='target_resize_image[]' ", " ", $view[file][$i][view]);
print_view=str_replace("onclick='image_window(this);' style='cursor:pointer;' ", " ", $print_view);
위처럼 적용했습니다.
또한 이미지를 클릭할 경우 하이슬라이드가 뜨게 하기위해
<a href="#" rel="~" ...><?=$view[file][$i][view]?></a> 형태로 $view[file][$i][view] 앞뒤로
<a> 태그를 주었는데요...

여기서...리치 컨텐츠를 적용하니...새창으로 이미지 뜨는 것은 아래처럼 잔머리를 굴렸더니 새창을 막는데 성공했는데..
$view[rich_content]=str_replace("name='target_resize_image[]' ", " ", $view[rich_content]);
$view[rich_content]=str_replace("onclick='image_window(this);' style='cursor:pointer;' ", " ", $view[rich_content]);

이제 마지막으로 리치 컨텐츠안에 있는 이미지의 앞뒤로 a 태그를 넣는 방법을 모르겠습니다..
이거저거 다 뒤져보다가 preg_match_all('/<img[^>]+>/i', $view[rich_content], $result); 이런 프레그매치올이라는 함수를 쓰면 될 것 같기는 한데...그 다음에 뭘 어찌해야 될지 모르겠습니다.

리치 컨텐츠 안의 이미지 앞뒤로 a 태그를 넣는 방법 좀 알려주시면 감사드리겠습니다..^^;;
감사합니다.^^

-----------------------오전에 추가합니다. -------------------------
에구 밤 꼬박 새우고 하다보니 뭔가 진척이 보이긴 합니다...ㅠㅠ
그누원본의 view.php 파일을 참고해서 아래와 같은 소스를 얻어서 일단 반은 왔습니다.

$view[rich_content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "<a href='이미지원본' rel='photo'>\\1 \\2 \\3 </a>", $view[rich_content]);

그런데 여기서 <a href='이미지 원본' ~~~ 이렇게 나가야 하는데..
저 첨부파일 이미지 원본의 경로를 어찌 잡아야 하는지 또 막혔습니다...
저 경로만 좀 도와주세요.
$view[rich_content]를 아예 새롭게 만드는 것이 더 쉽습니다
아래 소스를 for문 위쪽에 넣으면 됩니다
$view[rich_content]=str_replace(...........) 추가한 이런 코드들은 모두 삭제하세요

function view_image2($view, $number, $attribute)
{
    global $board;
    if ($view['file'][$number]['file']){
    $img_path=$view['file'][$number]['path'].'/'.$view['file'][$number]['file'];
      if($view['file'][$number]['image_width']>$board[bo_image_width])
        $ww="width=$board[bo_image_width]";
      return "<a href='{$img_path}' rel='photo'><img src='$img_path'  $ww $attribute></a>";
    }else  return "";
}

$view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image2(\$view, '\\1', '\\2')", $view[content]);
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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