cheditor로 올린 이미지를 최근게시글에서 뽑으면서 이미지 리사이즈 하기 정보
cheditor로 올린 이미지를 최근게시글에서 뽑으면서 이미지 리사이즈 하기본문
초단순무식팁입니다-_-;;
파일로 올린 이미지가 아닌 cheditor로 올린 이미지를 최근게시글에서 뽑으면서 이미지 리사이즈를 하는 방법입니다.
(참조팁 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=4588&sca=&sfl=wr_subject&stx=%C0%CC%B9%CC%C1%F6&sop=and&page=3 - cheditor로 작성한 글내용중에서 첫번째 이미지 src속성 빼오기...)
오로지 모로가도 서울이라는 정신자세로 제가 아는 php지식의 한계에서 용을 쓴 팁입니다. ㅎㅎ;
검색해보니까 JS등 훨씬 세련된 팁들이 있는 것 같은데 워낙 기초가 얇은지라...ㅜㅜ
주석에도 밝혔지만 순전히 그누보드 cheditor용입니다. 엄밀하게 말하자면 제가 쓰고 있는 그누보드 cheditor용;;;
이미지 크기 지정에서 다른 스타일 태그를 쓰는 에디터에서는 적절한 수정이 필요합니다.
익스, 파폭 둘 다 되더군요. (이 역시 제가 쓰는;;)
그럼....
아참, 신기한건 출력된 크기는 줄어서 나오는데 소스보기를 하면 원래값이 그대로 되어 있더군요.
최근글 스킨의 for문 부분입니다.
<? for ($i=0; $i<count($list); $i++) {
$img_tag_str = strchr($list[$i][wr_content],'<IMG'); //img_tag_str은 첫번째 이미지 태그가 시작하는 곳.
$img_tag_len = strpos($img_tag_str,'>'); //$img_tag_len은 이미지 태그의 길이.
$img_tag = substr($img_tag_str,0,$img_tag_len+1); //첫번째 이미지 태그.
$img_tag_width= strchr($img_tag,'WIDTH: '); //태그 속 style의 "width: " 문자열이 시작하는 곳. 이 소스는 그누보드의 cheditor에서만 적용가능.
//그누보드의 cheditor는 이미지의 크기를 항상 style="WIDTH: 450px; HEIGHT: 300px;" 이런 식으로 표기하기 때문.
//당연히 다른 방식의 이미지 크기 스타일 태그를 쓰는 에디터에서는 적절한 수정이 필요함.
$img_width = substr($img_tag_width, 7); //"width: " 문자열 바로 다음의 문자열들을..
$img_width = explode("px", $img_width); //"px"라는 문자열을 구분자로 해서 배열한 뒤..
$img_width = $img_width[0]; //첫번째 배열값을 뽑아낸다. 즉 width의 px값 (단순무식의 절정-_-;;)
$img_tag_height= strchr($img_tag,'HEIGHT: '); //여기부터 height값을 같은 방식으로 뽑아냄.
$img_height = substr($img_tag_height, 8);
$img_height = explode("px", $img_height);
$img_height = $img_height[0];
$img_height = substr($img_tag_height, 8);
$img_height = explode("px", $img_height);
$img_height = $img_height[0];
$limit_width = 630; //이미지의 가로크기 한계
if ( $img_width > $limit_width ) { preg_replace("/(WIDTH: {$img_width}px; HEIGHT: {$img_height}px)/i", "WIDTH: {$limit_width}px;", $img_tag); }
//뽑아낸 width값이 설정한 값($limit_width)보다 크면 style의 이미지 크기값을 원하는 크기로 바꾼다. (역시 단순무식..;;;)
if ( $img_width > $limit_width ) { preg_replace("/(WIDTH: {$img_width}px; HEIGHT: {$img_height}px)/i", "WIDTH: {$limit_width}px;", $img_tag); }
//뽑아낸 width값이 설정한 값($limit_width)보다 크면 style의 이미지 크기값을 원하는 크기로 바꾼다. (역시 단순무식..;;;)
echo $list[$i][wr_content]; //일단 익스와 파폭 둘 다 됨. 희한한 건 분명히 크기는 줄어서 나오는데 소스보기를 하면 원래 값이 그대로 나옴-_-;;
} ?>
추천
0
0
댓글 6개
고생하셨습니다.
간만에 오셔서 팁에만 살짝 흔적을 남기시는군요.
건강하게 잘 지내십시오.
간만에 오셔서 팁에만 살짝 흔적을 남기시는군요.
건강하게 잘 지내십시오.
고맙습니다. 오긴 거의 매일 오는데 흔적 남길 여유가 없었네요..^^;
흑... 뮤죤님꺼랑 합쳐서... 그누보드에 올라온 모든 이미지를 보여주는거 만들수 있겠네요.
놀러 갔다 와서 해야징...ㅋㅋ
놀러 갔다 와서 해야징...ㅋㅋ
좋은팀 갑사합니다~^^
감사합니다. ^^
ㅇㅇ