게시물에서 img 태그 src 값 추출(에디터로 업로드시, 파일로 업로드시)
본문
게시판에 img 태그를 추출해서 src값 다시 추출했습니다.
// 정규식으로 img 태그의 src값만 추출
$contents = $view['content'];
preg_match_all("/<img[^>]*src=[\'\"]?([^>\'\"]+)[\'\"]?[^>]*>/", $contents, $matches);
// echo ($matches[1][0]);
// 정규식으로 게시물내의 img 태그 유무 찾기
if(preg_match("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $view['content']) == 0) {
$matches[1][0] = G5_IMG_URL."/logo_p.png";
}
<meta property="og:type" content="website">
<meta property="og:title" content="<?php echo $view['subject']; ?>">
<meta property="og:url" content="<?php echo $_SERVER['REQUEST_URI']; ?>">
<meta property="og:description" content="<?php echo cut_str(strip_tags($write['wr_content']), 200) ?>">
<meta property="og:image" content="<?php echo($matches[1][0]); ?>">
위 코드로 테스트 해보았는데요.
에디터로 이미지를 올렸을때는 정상작동하여
meta의 og:image content 가 정상적으로 채워졌으나,
파일로 이미지를 올렸을때는
위의 코드 if 문이 false 가 되어 기본 이미지가 src 값이
mata의 og:image content 에 들어가 버립니다...!
본문에 무조건 img 태그가 있다면
meta의 og:imgage content 가 img 태그의 src 값으로
채워지게 할 수 있을까요?
DB보니까 파일로 이미지를 올렸을때는 wr_content 에 저장이 안되더라구요;
흡 ㅠ
리스트에 파일아이콘은....
파일로 올렸을때(확장자가 gif,jpg,png, ico, html, hwp, ppt 등등)
다양하니 아이콘이 출력되는게 맞고
이미지로 에디터로 첨부했을때는 gif,jpg,png 등만 첨부가능하니
아이콘이 안나오는게 맞는것 같습니다 ㅎ
아이콘 자체 의미가 파일 이니까요ㅎ
!-->
답변 2
파일로 했을때는 첨부 형태로 되어서 그런듯 보입니다.
$content쪽에는 없을테니 false가 떨어질테고요. 그렇다면 false때 첨부파일까지 검사해서 각 값을 채워주면 되지 않을까 합니다.
음 직접 소스를 작성하시지 마시구요.
그누보드의 라이브러리 파일 중에 /lib/thumbnail.lib.php 파일 7번째 라인을 보시면
get_list_thumbnail 이라는 함수가 있습니다.
이 함수는 게시물에서 첨부파일이 있다면 첨부파일 이미지를 없다면 내용에서 이미지를 추출하여 썸네일화 하는 함수인데요.
이것을 응용하시면 될 것으로 보입니다.
<?php
$og_img = get_list_thumbnail($bo_table, $wr_id, 600, 0); // 600은 출력 이미지의 가로 사이즈
?>
<meta property="og:image" content="<?php echo $og_img['src']; ?>">
위와 같이 처리해 보세요.
!-->