테스트 사이트 - 개발 중인 베타 버전입니다

업로드 상세 이미지 새창 링크 채택완료

즤의발 11개월 전 조회 1,155

 

상세보기 이미지를 불러오는 경로가 

 

<?php echo conv_content($it['it_explan'], 1); ?>

<?php echo conv_content($it['it_mobile_explan'], 1); ?>

위의 코드로 되어있습니다.

 

해당 코드에 이미지의 경로를 보면 /data/2048/아이디값?.jpg 이런데

이 이미지에 새창 (크게보기) 링크를 걸고 싶은데 어떻게 하는지 도통 모르겠습니다 ㅠ

 

알려주세요..

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
11개월 전

아래 코드를 한번 참고를 해보세요.

 

1.JS

 

<!-- 상품설명 부분에 아래 코드 추가 -->
<?php echo conv_content($it['it_explan'], 1); ?>
<?php echo conv_content($it['it_mobile_explan'], 1); ?>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 상품설명 영역의 모든 이미지를 선택
    const images = document.querySelectorAll('.it_explan img, .it_mobile_explan img');
    
    images.forEach(function(img) {
        // 이미지를 감싸는 a 태그 생성
        const link = document.createElement('a');
        link.href = img.src;
        link.target = '_blank';
        
        // 원본 이미지를 복제하여 링크 안에 삽입
        const newImg = img.cloneNode(true);
        link.appendChild(newImg);
        
        // 기존 이미지를 링크로 교체
        img.parentNode.replaceChild(link, img);
    });
});
</script>

 

 

 

2. PHP

 

<?php
// functions.php 또는 적절한 위치에 함수 추가
function add_image_links($content) {
    return preg_replace_callback('/<img[^>]+>/i', function($matches) {
        if (preg_match('/src=["\']([^"\']+)["\']/i', $matches[0], $src)) {
            return '<a href="' . $src[1] . '" target="_blank">' . $matches[0] . '</a>';
        }
        return $matches[0];
    }, $content);
}

// 사용하는 부분
echo add_image_links(conv_content($it['it_explan'], 1));
echo add_image_links(conv_content($it['it_mobile_explan'], 1));
?>

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

즤의발
11개월 전

감사합니다 ㅠ ㅠ

해결했습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인