메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법
본문
메타태그 description에서 게시물 본문 처음 100자만 불러오는 방법이 궁금합니다
지금은 content 이하로 게시물 제목 > 게시판명 ㅣ 사이트명 구조로 되어있습니다
현재 meta description은 제일 앞에 위치해 있어서
앞 부분에서는 글 내용 추출 불가능 하다고 생각이 되는 상황입니다
어떻게 하면 본문 첫 100자의 내용을 끊어서 content이하로 가져올 수 있을까요?
예시로 잘되고 있는 사이트의 메타태그 디스크립션을 가져왔습니다
게시물 주소는 https://www.i-boss.co.kr/ab-1486505-47533 이고
소스는 아래 이미지 빨간색 표시부분과 같습니다
답변 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
!-->
답변을 작성하시기 전에 로그인 해주세요.