콘텐츠마케팅

PHP 또는 WordPress에서 발췌 작성: 단어, 문장 및 단락 수 기술

발췌문 만들기 PHP 콘텐츠 관리 및 웹 사이트 개발의 일반적인 작업입니다. 발췌는 긴 콘텐츠의 단축 버전으로, 미리보기나 요약을 제공하는 데 자주 사용됩니다. PHP 개발자는 단어, 문장 또는 단락 수를 기반으로 발췌문을 작성해야 할 수도 있습니다. 이 문서에서는 카운트 수가 콘텐츠 길이를 초과하는 모범 사례 및 처리 사례와 함께 이를 달성하는 방법을 살펴봅니다.

단어수별 발췌

단어 수에 따라 발췌문을 작성하려면 특정 단어 수 이후의 내용을 자르는 작업이 포함됩니다.

function excerptByWordCount($content, $wordCount) {
    $words = explode(' ', $content);
    if (count($words) > $wordCount) {
        $words = array_slice($words, 0, $wordCount);
        $content = implode(' ', $words);
    }
    return $content;
}

용법:

// Excerpt of first 50 words
$wordCountExcerpt = excerptByWordCount($originalContent, 50); 

모범 사례 및 초과 계산 처리:

  • 단어 수 확인: 자르기 전에 원본 내용의 단어 수가 원하는 발췌 길이를 초과하는지 확인하세요. 그렇지 않은 경우 원본 콘텐츠를 반환하세요.
  • 단어를 깨는 것을 피하십시오: 가독성을 유지하려면 발췌문의 마지막 단어가 완전한지 확인하세요.
  • 줄임표를 추가합니다. 선택적으로 줄임표(...) 내용이 잘린 경우 끝에 표시됩니다.

문장 수별 발췌

문장 수에 따라 발췌문을 작성하려면 내용에서 특정 수의 문장을 유지해야 합니다.

function excerptBySentenceCount($content, $sentenceCount) {
    $sentences = explode('.', $content);
    if (count($sentences) > $sentenceCount) {
        $sentences = array_slice($sentences, 0, $sentenceCount);
        $content = implode('. ', $sentences) . '.';
    }
    return $content;
}

용법

// Excerpt of first 3 sentences
$sentenceCountExcerpt = excerptBySentenceCount($originalContent, 3); 

업데이트하려면 excerptBySentenceCount 마침표뿐만 아니라 끝에 구두점이 있는 문장을 포함하는 기능을 사용하면 마침표, 느낌표 또는 물음표와 같은 일반적인 문장 종료 구두점과 일치하는 정규식으로 콘텐츠를 분할하도록 기능을 수정할 수 있습니다. PHP에서 이를 수행하는 방법은 다음과 같습니다.

function excerptBySentenceCount($content, $sentenceCount) {
    // Use a regular expression to split the content by sentence-ending punctuation
    $sentences = preg_split('/(?<=[.!?])\s+/', $content, -1, PREG_SPLIT_NO_EMPTY);

    if (count($sentences) > $sentenceCount) {
        $sentences = array_slice($sentences, 0, $sentenceCount);
        $content = implode(' ', $sentences);
        // Check the last character to ensure it ends with punctuation
        if (!preg_match('/[.!?]$/', $content)) {
            $content .= '.';
        }
    }
    return $content;
}

이 기능은 다음을 사용합니다. preg_split 정규 표현식(정규식) /(?<=[.!?])\s+/ 공백(\s+)는 마침표, 느낌표 또는 물음표([.!?]). (?<=...) 분할에 문장 끝 구두점을 포함하지 않고 문장 끝 구두점이 있는지 확인하는 긍정적인 뒤돌아보기 어설션입니다. 그만큼 PREG_SPLIT_NO_EMPTY 플래그는 비어 있지 않은 조각만 반환되도록 보장합니다.

마지막으로 함수는 결과 콘텐츠의 마지막 문자가 문장 끝 구두점인지 확인합니다. 그렇지 않은 경우 발췌문 끝에 적절한 구두점을 유지하기 위해 마침표를 추가합니다.

모범 사례 및 초과 계산 처리:

  • 적절한 문장 감지: 문장을 분할하려면 마침표와 공백을 사용하세요. 이렇게 하면 약어에 사용되는 마침표로 분할되는 것을 방지할 수 있습니다.
  • 문장 수 확인: 단어 수와 마찬가지로 원본 콘텐츠의 문장 수가 충분한지 확인합니다.
  • 구두점 유지: 발췌문이 적절한 구두점(일반적으로 마침표)으로 끝나는지 확인하세요.

단락수별 발췌

단락 수에 따라 발췌문을 생성하려면 특정 단락 수 이후의 내용을 자르는 작업이 포함됩니다.

function excerptByParagraphCount($content, $paragraphCount) {
    $paragraphs = explode("\n", $content);
    if (count($paragraphs) > $paragraphCount) {
        $paragraphs = array_slice($paragraphs, 0, $paragraphCount);
        $content = implode("\n", $paragraphs);
    }
    return $content;
}

용법:

// Excerpt of first 2 paragraphs
$paragraphCountExcerpt = excerptByParagraphCount($originalContent, 2); 

모범 사례 및 초과 계산 처리:

  • 단락에 새 줄 사용: 단락은 일반적으로 새 줄(\n). 콘텐츠가 이 형식을 따르는지 확인하세요.
  • 단락 수 확인: 콘텐츠의 단락 수가 발췌에 적합한지 확인합니다.
  • 콘텐츠 구조 존중: 내용의 무결성을 유지하려면 발췌문의 단락 구조를 유지하세요.

HTML 단락 수에 따른 발췌

HTML 콘텐츠를 다룰 때 HTML 콘텐츠를 기반으로 발췌문을 추출하고 싶을 것입니다. <p> 원본 콘텐츠의 구조와 형식을 유지하기 위한 태그입니다.

function excerptByHtmlParagraphCount($content, $paragraphCount) {
    preg_match_all('/<p[^>]*>.*?<\/p>/', $content, $paragraphs);
    $paragraphs = $paragraphs[0];

    if (count($paragraphs) > $paragraphCount) {
        $paragraphs = array_slice($paragraphs, 0, $paragraphCount);
        $content = implode(' ', $paragraphs);
    }
    return $content;
}

용법:

// Excerpt of first 2 paragraphs
$paragraphCountExcerpt = excerptByHtmlParagraphCount($htmlContent, 2); 

모범 사례 및 초과 계산 처리:

  • 태그 일치를 위한 정규 표현식: preg_match_all 일치하는 정규식을 사용하여 <p> 태그. 이 접근 방식을 사용하면 단락 태그의 구조와 속성이 유지됩니다.
  • HTML 구조 존중:
    발췌 내용이 HTML 구조를 유지하는지 확인하세요. 렌더링 문제로 이어질 수 있는 태그 손상을 방지하세요.
  • 단락 수 확인: 일반 텍스트와 마찬가지로 원본 콘텐츠의 단락 수가 발췌에 충분한지 확인하세요.
  • 중첩된 태그를 처리합니다. 단락에는 링크나 범위와 같은 다른 HTML 요소가 포함될 수 있다는 점을 기억하세요. 단락 내의 중첩 태그에 대한 정규식 계정을 확인하세요.

PHP에서 HTML 단락 수를 기반으로 발췌문을 만드는 것은 일반 텍스트를 처리하는 것보다 더 고급 작업입니다. HTML 구조의 무결성을 유지하려면 정규식을 주의 깊게 사용하는 것이 중요합니다. 이 방법은 콘텐츠를 원래 형식으로 표시해야 하는 웹 애플리케이션에 특히 적합합니다. 언제나 그렇듯이 원본 콘텐츠의 길이를 확인하고 발췌 내용을 제시할 때 사용자 경험을 고려하세요.

예, WordPress에는 발췌문 생성을 용이하게 하는 고유한 기능 세트가 있어 PHP에서 발췌문을 수동으로 처리하는 것에 비해 프로세스를 크게 단순화할 수 있습니다. 다음은 발췌와 관련된 주요 WordPress 기능에 대한 개요입니다.

WordPress의 발췌 기능

워드 프레스 API 발췌 처리를 위한 강력한 시스템을 제공하므로 대부분의 일반적인 사용 사례에서는 PHP 기능을 수동으로 구현할 필요가 없습니다. WordPress는 길이를 사용자 정의하고, 길이를 변경하는 등 게시물 요약을 관리하는 사용자 친화적인 방법을 제공합니다. 더 읽기 텍스트를 표시하거나 템플릿 태그를 사용하여 발췌문을 표시합니다.

the_excerpt()

이 WordPress 템플릿 태그는 게시물의 발췌문을 자동으로 인쇄합니다. 아카이브 페이지에 게시물 요약을 표시하기 위해 테마에서 일반적으로 사용됩니다.

  • 용법: 장소 the_excerpt() 발췌 내용을 표시하려는 테마 파일의 The Loop 내에서.
  • 동작 : 기본적으로 게시물의 처음 55단어가 표시됩니다. 게시물 편집기에 수동으로 설정된 발췌문이 있는 경우 해당 내용이 대신 표시됩니다.

get_the_excerpt()

이 기능은 발췌 내용을 표시하지 않고 검색하므로 사용 방법과 위치를 더 잘 제어할 수 있습니다.

  • 용법: get_the_excerpt($post) 특정 게시물의 발췌문을 가져오는 데 사용할 수 있습니다.
  • 사용자 지정 : 반환된 문자열을 표시하기 전에 필요에 따라 조작할 수 있습니다.

발췌 길이 사용자 정의

WordPress에서는 다음을 통해 기본 발췌 길이를 변경할 수 있습니다. excerpt_length 필터.

function custom_excerpt_length($length) {
    return 20; // Return 20 words as the new excerpt length
}
add_filter('excerpt_length', 'custom_excerpt_length');

더 많은 태그 관리 및 더 많은 텍스트 발췌

the_content('Read more')

이 기능은 "more" 태그를 만날 때까지 콘텐츠를 표시합니다. 콘텐츠 편집기 내에서 바로 맞춤 길이의 발췌문을 표시하는 데 유용합니다.

더 많은 텍스트 발췌 사용자 정의

발췌 끝에 표시되는 텍스트를 맞춤설정할 수 있습니다(예: […])를 사용하여 excerpt_more 필터.

function custom_excerpt_more($more) {
    return '...'; // Replace the default [...] with ...
}
add_filter('excerpt_more', 'custom_excerpt_more');

발췌문의 HTML 처리

WordPress 발췌문은 기본적으로 일반 텍스트입니다. 발췌에서 HTML 태그를 보존해야 하는 경우 사용자 정의 기능을 생성하거나 이 목적으로 설계된 플러그인을 사용해야 합니다.

그러나 발췌문에 HTML 태그를 유지하거나 문장이나 단락과 같은 특정 요소를 기반으로 발췌문을 생성하는 등의 고급 요구 사항에는 사용자 정의 코딩이나 플러그인이 필요할 수 있습니다.

Douglas Karr

Douglas Karr 의 CMO입니다. 오픈인사이트 그리고 설립자 Martech Zone. Douglas는 수십 개의 성공적인 MarTech 스타트업을 도왔고, Martech 인수 및 투자에서 5억 달러가 넘는 실사를 도왔으며, 기업이 판매 및 마케팅 전략을 구현하고 자동화하도록 지속적으로 지원하고 있습니다. Douglas는 국제적으로 인정받는 디지털 혁신이자 MarTech 전문가이자 연설가입니다. Douglas는 Dummie's Guide와 비즈니스 리더십 서적을 집필한 작가이기도 합니다.

관련 기사

맨 위로 가기 버튼
닫기

애드블록 감지됨

Martech Zone 은(는) 광고 수익, 제휴 링크 및 후원을 통해 사이트에서 수익을 창출하기 때문에 이 콘텐츠를 무료로 제공할 수 있습니다. 사이트를 볼 때 광고 차단기를 제거해 주시면 감사하겠습니다.