Nội dung tiếp thị

Viết các đoạn trích trong PHP hoặc WordPress: Kỹ thuật đếm từ, câu và đoạn

Tạo đoạn trích trong PHP là nhiệm vụ chung trong quản lý nội dung và phát triển website. Đoạn trích là phiên bản rút gọn của một đoạn nội dung dài hơn, thường được sử dụng để cung cấp bản xem trước hoặc tóm tắt. Các nhà phát triển PHP có thể cần tạo các đoạn trích dựa trên số lượng từ, câu hoặc đoạn văn. Bài viết này khám phá các phương pháp để đạt được điều này, cùng với các phương pháp hay nhất và cách xử lý các trường hợp trong đó số lượng vượt quá độ dài nội dung.

Trích đoạn từ Word Count

Tạo một đoạn trích theo số từ bao gồm việc cắt bớt nội dung sau một số từ nhất định.

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

Cách sử dụng:

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

Các biện pháp thực hành tốt nhất và xử lý việc đếm quá mức:

  • Kiểm tra số từ: Trước khi cắt bớt, hãy kiểm tra xem số từ của nội dung gốc có vượt quá độ dài đoạn trích mong muốn hay không. Nếu không thì trả lại nội dung gốc.
  • Tránh ngắt lời: Đảm bảo từ cuối cùng trong đoạn trích là đầy đủ để duy trì khả năng đọc.
  • Thêm dấu chấm lửng: Tùy chọn, thêm dấu chấm lửng (...) ở cuối nếu nội dung bị cắt bớt.

Trích theo số lượng câu

Tạo đoạn trích theo số câu liên quan đến việc giữ lại một số câu nhất định trong nội dung.

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

Sử dụng

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

Để cập nhật excerptBySentenceCount bao gồm các câu có bất kỳ dấu câu nào ở cuối (không chỉ dấu chấm), bạn có thể sửa đổi hàm để phân chia nội dung theo một biểu thức chính quy khớp với bất kỳ dấu câu kết thúc câu điển hình nào, chẳng hạn như dấu chấm, dấu chấm than hoặc dấu chấm hỏi. Đây là cách bạn có thể làm điều đó trong 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;
}

Chức năng này sử dụng preg_split với một biểu thức chính quy (biểu thức chính quy) /(?<=[.!?])\s+/ phân chia văn bản tại khoảng trắng (\s+) theo sau dấu chấm, dấu chấm than hoặc dấu chấm hỏi ([.!?]). Các (?<=...) là một xác nhận nhìn phía sau tích cực nhằm kiểm tra sự hiện diện của dấu câu kết thúc câu mà không đưa nó vào phần tách. Các PREG_SPLIT_NO_EMPTY cờ đảm bảo rằng chỉ những phần không trống mới được trả về.

Cuối cùng, hàm kiểm tra xem ký tự cuối cùng của nội dung kết quả có phải là dấu câu kết thúc câu hay không. Nếu không, nó sẽ thêm một dấu chấm để duy trì dấu câu thích hợp ở cuối đoạn trích.

Các biện pháp thực hành tốt nhất và xử lý việc đếm quá mức:

  • Phát hiện câu thích hợp: Dùng dấu chấm, theo sau là dấu cách để chia câu. Điều này tránh việc chia thành các giai đoạn được sử dụng trong chữ viết tắt.
  • Kiểm tra số lượng câu: Tương tự như đếm từ, hãy xác minh xem số câu của nội dung gốc có đủ hay không.
  • Duy trì dấu câu: Đảm bảo đoạn trích kết thúc bằng dấu câu thích hợp, thường là dấu chấm.

Trích đoạn theo số đoạn

Tạo đoạn trích theo số đoạn bao gồm việc cắt bớt nội dung sau một số đoạn nhất định.

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

Cách sử dụng:

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

Các biện pháp thực hành tốt nhất và xử lý việc đếm quá mức:

  • Sử dụng dòng mới cho đoạn văn: Các đoạn văn thường được phân tách bằng dòng mới (\n). Đảm bảo nội dung của bạn tuân theo định dạng này.
  • Kiểm tra số đoạn: Xác thực xem số lượng đoạn nội dung có đủ cho đoạn trích hay không.
  • Tôn trọng cấu trúc nội dung: Duy trì cấu trúc của các đoạn văn trong đoạn trích để bảo toàn tính toàn vẹn của nội dung.

Trích đoạn theo số lượng đoạn HTML

Khi xử lý nội dung HTML, bạn sẽ muốn trích xuất các đoạn trích dựa trên <p> thẻ để duy trì cấu trúc và định dạng của nội dung gốc.

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;
}

Cách sử dụng:

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

Các biện pháp thực hành tốt nhất và xử lý việc đếm quá mức:

  • Biểu thức chính quy để khớp thẻ: Sử dụng preg_match_all với một biểu thức chính quy để phù hợp <p> thẻ. Cách tiếp cận này đảm bảo rằng cấu trúc và thuộc tính của thẻ đoạn văn được giữ nguyên.
  • Tôn trọng cấu trúc HTML:
    Đảm bảo rằng đoạn trích duy trì cấu trúc HTML. Tránh làm hỏng thẻ, điều này có thể dẫn đến sự cố hiển thị.
  • Kiểm tra số đoạn: Giống như văn bản thuần túy, hãy xác minh xem số đoạn văn của nội dung gốc có đủ cho đoạn trích hay không.
  • Xử lý các thẻ lồng nhau: Hãy nhớ rằng các đoạn văn có thể chứa các thành phần HTML khác như liên kết hoặc nhịp. Đảm bảo tài khoản biểu thức chính quy của bạn dành cho các thẻ lồng nhau trong các đoạn văn.

Tạo đoạn trích dựa trên số đoạn HTML trong PHP là một nhiệm vụ nâng cao hơn so với việc xử lý văn bản thuần túy. Điều cần thiết là phải sử dụng các biểu thức chính quy một cách cẩn thận để duy trì tính toàn vẹn của cấu trúc HTML. Phương pháp này đặc biệt phù hợp với các ứng dụng web nơi nội dung cần được hiển thị với định dạng ban đầu. Như mọi khi, hãy xác thực độ dài của nội dung gốc và xem xét trải nghiệm người dùng khi trình bày các đoạn trích.

Có, WordPress có bộ chức năng và tính năng riêng hỗ trợ việc tạo đoạn trích, điều này có thể đơn giản hóa đáng kể quy trình so với việc xử lý thủ công các đoạn trích trong PHP. Dưới đây là tổng quan về các chức năng chính của WordPress liên quan đến đoạn trích:

Chức năng trích dẫn trong WordPress

WordPress API cung cấp một hệ thống mạnh mẽ để xử lý các đoạn trích, khiến việc triển khai thủ công các hàm PHP trở nên không cần thiết đối với hầu hết các trường hợp sử dụng thông thường. WordPress cung cấp một cách thân thiện với người dùng để quản lý tóm tắt bài đăng, cho dù đó là tùy chỉnh độ dài, thay đổi đọc thêm văn bản hoặc sử dụng thẻ mẫu để hiển thị đoạn trích.

the_excerpt()

Thẻ mẫu WordPress này tự động in một đoạn trích cho bài viết. Nó thường được sử dụng trong các chủ đề để hiển thị tóm tắt bài đăng trên các trang lưu trữ.

  • Cách sử dụng: Nơi the_excerpt() trong The Loop trong tệp chủ đề của bạn nơi bạn muốn đoạn trích xuất hiện.
  • Hành vi: Theo mặc định, nó hiển thị 55 từ đầu tiên của bài viết. Nếu có một đoạn trích được đặt thủ công trong trình chỉnh sửa bài đăng, nó sẽ hiển thị đoạn trích đó.

get_the_excerpt()

Hàm này truy xuất đoạn trích mà không hiển thị nó, giúp bạn kiểm soát nhiều hơn về cách thức và vị trí sử dụng nó.

  • Cách sử dụng: get_the_excerpt($post) có thể được sử dụng để lấy đoạn trích của một bài viết cụ thể.
  • Customization: Bạn có thể thao tác với chuỗi trả về nếu cần trước khi hiển thị nó.

Tùy chỉnh độ dài đoạn trích

WordPress cho phép bạn thay đổi độ dài đoạn trích mặc định thông qua excerpt_length lọc.

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

Quản lý thêm thẻ và trích dẫn thêm văn bản

the_content('Read more')

Hàm này hiển thị nội dung cho đến khi gặp thẻ “more”. Nó rất hữu ích khi hiển thị đoạn trích có độ dài tùy chỉnh ngay trong trình chỉnh sửa nội dung.

Tùy chỉnh đoạn trích thêm văn bản

Bạn có thể tùy chỉnh văn bản xuất hiện ở cuối đoạn trích (như […]) bằng cách sử dụng excerpt_more lọc.

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

Xử lý HTML trong đoạn trích

Các đoạn trích WordPress theo mặc định là văn bản thuần túy. Nếu bạn cần giữ lại các thẻ HTML trong đoạn trích, bạn phải tạo một hàm tùy chỉnh hoặc sử dụng một plugin được thiết kế cho mục đích này.

Tuy nhiên, mã hóa hoặc plugin tùy chỉnh có thể cần thiết cho các yêu cầu nâng cao như bảo toàn thẻ HTML trong đoạn trích hoặc tạo đoạn trích dựa trên các thành phần cụ thể như câu hoặc đoạn văn.

Douglas Karr

Douglas Karr là CMO của mởINSIGHTS và người sáng lập ra Martech Zone. Douglas đã giúp hàng chục công ty khởi nghiệp MarTech thành công, đã hỗ trợ thẩm định hơn 5 tỷ USD trong các thương vụ mua lại và đầu tư của Martech, đồng thời tiếp tục hỗ trợ các công ty triển khai và tự động hóa các chiến lược tiếp thị và bán hàng của họ. Douglas là một chuyên gia và diễn giả về chuyển đổi kỹ thuật số và MarTech được quốc tế công nhận. Douglas cũng là tác giả đã xuất bản sách hướng dẫn của Dummie và sách lãnh đạo doanh nghiệp.

Bài viết liên quan

Back to top
Đóng

Đã phát hiện ra khối quảng cáo

Martech Zone có thể cung cấp cho bạn nội dung này miễn phí vì chúng tôi kiếm tiền từ trang web của mình thông qua doanh thu quảng cáo, liên kết đơn vị liên kết và tài trợ. Chúng tôi sẽ đánh giá cao nếu bạn xóa trình chặn quảng cáo của mình khi bạn xem trang web của chúng tôi.