메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법

메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법

QA

메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법

본문

메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법이 궁금합니다

지금은 content 이하로 게시물 제목 > 게시판명 ㅣ 사이트명 구조로 되어있습니다

 

현재 meta description은 제일 앞에 위치해 있어서

앞 부분에서는 글 내용 추출 불가능 하다고 생각이 되는 상황입니다

 

어떻게 하면 본문 첫 100자의 내용을 끊어서 content이하로 가져올 수 있을까요?

예시로 잘되고 있는 사이트의 메타태그 디스크립션을 가져왔습니다

게시물 주소는 https://www.i-boss.co.kr/ab-1486505-47533 이고

소스는 아래 이미지 빨간색 표시부분과 같습니다

 

3696024225_1717432736.8365.png

 

 

 

이 질문에 댓글 쓰기 :

답변 3

안녕하세요. 

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

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 게시물 본문 내용을 불러옵니다. (여기서는 예시로 $content 변수에 본문 내용을 담습니다)
$content = "여기에 게시물 본문 내용이 들어갑니다. 이 내용은 데이터베이스에서 불러온 것입니다. ...";
// 처음 100자를 추출합니다.
$description = mb_substr(strip_tags($content), 0, 100, 'UTF-8');
// HTML의 meta 태그에 넣어줍니다.
?>
<meta name="description" content="<?php echo htmlspecialchars($description); ?>">

 

 

다음 링크와 코드가 도움이 될지 모르겠습니다.

 

output buffering

https://www.php.net/manual/en/function.ob-start

https://www.php.net/manual/en/function.ob-get-clean.php

e.g.


<?php
ob_start();
?>
<!DOCTYPE html> 
<html lang="ko">
<head>
    <title>${title}</title>
    <meta charset="UTF-8">
    <meta property="og:description" content="${meta-description}">
</head>
<body>
    <?php
    $temp = ob_get_clean();
    $temp = str_replace(
        ['${title}', '${meta-description}'],
        ['TITLE', substr('DESCRIPTION', 0, 10)],
        $temp
    );
    echo $temp;
    ?>
</body>
</html>

 

substring

https://www.php.net/manual/en/function.substr

https://www.php.net/manual/en/function.mb-substr.php

https://www.php.net/manual/en/function.preg-match

답변을 작성하시기 전에 로그인 해주세요.
전체 17,126
QA 내용 검색

회원로그인

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