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

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

QA

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

답변 3

본문

메타태그 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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17
© SIRSOFT
현재 페이지 제일 처음으로