업로드 상세 이미지 새창 링크
본문
상세보기 이미지를 불러오는 경로가
<?php echo conv_content($it['it_explan'], 1); ?>
<?php echo conv_content($it['it_mobile_explan'], 1); ?>
위의 코드로 되어있습니다.
해당 코드에 이미지의 경로를 보면 /data/2048/아이디값?.jpg 이런데
이 이미지에 새창 (크게보기) 링크를 걸고 싶은데 어떻게 하는지 도통 모르겠습니다 ㅠ
알려주세요..
답변 2
아래 코드를 한번 참고를 해보세요.
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));
?>
감사합니다 ㅠ ㅠ
해결했습니다.