ຕະຫຼາດເນື້ອໃນ

Crafting Excerpts ໃນ PHP ຫຼື WordPress: Word, Sentence, and Paragraph Count Techniques

ການສ້າງບົດຄັດຫຍໍ້ໃນ PHP ເປັນວຽກງານທົ່ວໄປໃນການຄຸ້ມຄອງເນື້ອຫາແລະການພັດທະນາເວັບໄຊທ໌. excerpt ເປັນສະບັບຫຍໍ້ຂອງເນື້ອໃນທີ່ຍາວກວ່າ, ມັກຈະຖືກນໍາໃຊ້ເພື່ອສະຫນອງຕົວຢ່າງຫຼືສະຫຼຸບ. ນັກພັດທະນາ PHP ອາດຈະຕ້ອງສ້າງບົດຄັດຫຍໍ້ໂດຍອີງໃສ່ຄໍາ, ປະໂຫຍກ, ຫຼືຈໍານວນວັກ. ບົດຄວາມນີ້ຂຸດຄົ້ນວິທີການເພື່ອບັນລຸເປົ້າຫມາຍນີ້, ຄຽງຄູ່ກັບການປະຕິບັດທີ່ດີທີ່ສຸດແລະການຈັດການກໍລະນີທີ່ຈໍານວນການນັບເກີນຄວາມຍາວຂອງເນື້ອຫາ.

ຄັດມາຈາກຄໍານັບ

ການສ້າງ excerpt ດ້ວຍການນັບຄໍາສັບກ່ຽວຂ້ອງກັບການຕັດເນື້ອໃນຫຼັງຈາກຈໍານວນຄໍາທີ່ແນ່ນອນ.

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

ການປະຕິບັດທີ່ດີທີ່ສຸດ ແລະການຈັດການ overcounts:

  • ກວດ​ສອບ​ການ​ນັບ​ຄໍາ​: ກ່ອນທີ່ຈະຕັດ, ໃຫ້ກວດເບິ່ງວ່າຄໍານັບຂອງເນື້ອຫາຕົ້ນສະບັບເກີນຄວາມຍາວຂອງ excerpt ທີ່ຕ້ອງການ. ຖ້າບໍ່, ກັບຄືນເນື້ອຫາຕົ້ນສະບັບ.
  • ຫຼີກ​ລ້ຽງ​ການ​ທໍາ​ລາຍ​ຄໍາ​ສັບ​ຕ່າງໆ​: ໃຫ້ແນ່ໃຈວ່າຄໍາສຸດທ້າຍໃນ excerpt ແມ່ນສົມບູນເພື່ອຮັກສາການອ່ານໄດ້.
  • ເພີ່ມຮູບຮີ: ທາງເລືອກອື່ນ, ເພີ່ມຮູບໄຂ່ (...) ໃນຕອນທ້າຍຖ້າເນື້ອຫາຖືກຕັດອອກ.

ຫຍໍ້ມາຈາກຈຳນວນປະໂຫຍກ

ການສ້າງບົດຄັດຫຍໍ້ໂດຍການນັບປະໂຫຍກກ່ຽວຂ້ອງກັບການຮັກສາຈໍານວນປະໂຫຍກທີ່ແນ່ນອນຈາກເນື້ອຫາ.

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 ດ້ວຍການສະແດງອອກປົກກະຕິ (regex) /(?<=[.!?])\s+/ ເຊິ່ງແຍກຂໍ້ຄວາມຢູ່ຍະຫວ່າງ (\s+) ທີ່​ຕິດ​ຕາມ​ໄລ​ຍະ​ເວ​ລາ​, ເຄື່ອງ​ຫມາຍ exclamation​, ຫຼື​ເຄື່ອງ​ຫມາຍ​ຄໍາ​ຖາມ ([.!?]) The (?<=...) ເປັນການຢືນຢັນໃນແງ່ບວກທີ່ກວດເບິ່ງການປະກົດຕົວຂອງເຄື່ອງໝາຍທ້າຍປະໂຫຍກໂດຍບໍ່ລວມເອົາມັນຢູ່ໃນການແບ່ງປັນ. ໄດ້ PREG_SPLIT_NO_EMPTY ທຸງຮັບປະກັນວ່າພຽງແຕ່ຊິ້ນສ່ວນທີ່ບໍ່ຫວ່າງເປົ່າຖືກສົ່ງຄືນ.

ສຸດທ້າຍ, ຟັງຊັນຈະກວດເບິ່ງວ່າຕົວອັກສອນສຸດທ້າຍຂອງເນື້ອຫາຜົນໄດ້ຮັບແມ່ນເຄື່ອງໝາຍທ້າຍປະໂຫຍກຫຼືບໍ່. ຖ້າບໍ່ແມ່ນ, ມັນຈະຕໍ່ທ້າຍໄລຍະເວລາເພື່ອຮັກສາເຄື່ອງໝາຍວັກຕອນທີ່ຖືກຕ້ອງໃນຕອນທ້າຍຂອງການຍົກອອກມາ.

ການປະຕິບັດທີ່ດີທີ່ສຸດ ແລະການຈັດການ overcounts:

  • ການກວດຫາປະໂຫຍກທີ່ຖືກຕ້ອງ: ໃຊ້ໄລຍະເວລາຕາມດ້ວຍຊ່ອງຫວ່າງເພື່ອແຍກປະໂຫຍກ. ນີ້ຫຼີກເວັ້ນການແບ່ງອອກເປັນໄລຍະເວລາທີ່ໃຊ້ໃນຕົວຫຍໍ້.
  • ກວດສອບຈໍານວນປະໂຫຍກ: ຄ້າຍຄືກັບການນັບຄໍາ, ກວດເບິ່ງວ່າຈໍານວນປະໂຫຍກຂອງເນື້ອຫາຕົ້ນສະບັບແມ່ນພຽງພໍ.
  • ຮັກສາເຄື່ອງໝາຍວັກຕອນ: ໃຫ້ແນ່ໃຈວ່າການຫຍໍ້ມາຈາກສິ້ນສຸດດ້ວຍເຄື່ອງໝາຍວັກຕອນທີ່ຖືກຕ້ອງ, ໂດຍປົກກະຕິແມ່ນໄລຍະເວລາ.

ຫຍໍ້ມາຈາກຈຳນວນວັກ

ການສ້າງບົດຄັດຫຍໍ້ໂດຍການນັບຫຍໍ້ໜ້າກ່ຽວຂ້ອງກັບການຕັດເນື້ອໃນຫຼັງຈາກຫຍໍ້ໜ້າຈຳນວນໃດນຶ່ງ.

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

ການປະຕິບັດທີ່ດີທີ່ສຸດ ແລະການຈັດການ overcounts:

  • ໃຊ້ແຖວໃໝ່ສຳລັບວັກ: ໂດຍປົກກະຕິວັກແມ່ນແຍກອອກໂດຍແຖວໃໝ່ (\n). ໃຫ້ແນ່ໃຈວ່າເນື້ອຫາຂອງທ່ານປະຕິບັດຕາມຮູບແບບນີ້.
  • ກວດນັບວັກ: ກວດສອບການນັບຫຍໍ້ໜ້າຂອງເນື້ອຫາພຽງພໍສຳລັບການຍົກອອກມາ.
  • ເຄົາລົບໂຄງສ້າງເນື້ອຫາ: ຮັກສາໂຄງສ້າງຂອງວັກໃນບົດຄັດຫຍໍ້ເພື່ອຮັກສາຄວາມສົມບູນຂອງເນື້ອຫາ.

ຫຍໍ້ມາຈາກ HTML Paragraph Count

ເມື່ອຈັດການກັບເນື້ອຫາ HTML, ທ່ານຕ້ອງການສະກັດເອົາຂໍ້ຄວາມໂດຍອີງໃສ່ <p> tags ເພື່ອຮັກສາໂຄງສ້າງແລະຮູບແບບຂອງເນື້ອຫາຕົ້ນສະບັບ.

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

ການປະຕິບັດທີ່ດີທີ່ສຸດ ແລະການຈັດການ overcounts:

  • ການສະແດງອອກປົກກະຕິສໍາລັບການຈັບຄູ່ແທັກ: ການນໍາໃຊ້ preg_match_all ດ້ວຍການສະແດງອອກປົກກະຕິເພື່ອໃຫ້ກົງກັນ <p> ແທັກ. ວິທີການນີ້ຮັບປະກັນວ່າໂຄງສ້າງແລະຄຸນລັກສະນະຂອງ tags ວັກຖືກຮັກສາໄວ້.
  • ເຄົາລົບໂຄງສ້າງ HTML:
    ໃຫ້ແນ່ໃຈວ່າ excerpt ຮັກສາໂຄງສ້າງ HTML. ຫຼີກເວັ້ນການທໍາລາຍ tags, ເຊິ່ງສາມາດນໍາໄປສູ່ບັນຫາການສະແດງຜົນ.
  • ກວດນັບວັກ: ເຊັ່ນດຽວກັນກັບຂໍ້ຄວາມທໍາມະດາ, ກວດເບິ່ງວ່າຈໍານວນວັກຂອງເນື້ອຫາຕົ້ນສະບັບແມ່ນພຽງພໍສໍາລັບການຍົກອອກມາ.
  • Handle Nested Tags: ຈື່ໄວ້ວ່າວັກສາມາດມີອົງປະກອບ HTML ອື່ນໆເຊັ່ນ: ການເຊື່ອມຕໍ່ຫຼື spans. ຮັບປະກັນບັນຊີ regex ຂອງທ່ານສໍາລັບແທັກທີ່ຕິດກັນພາຍໃນວັກ.

ການສ້າງບົດຄັດຫຍໍ້ໂດຍອີງໃສ່ການນັບວັກ HTML ໃນ PHP ແມ່ນວຽກງານທີ່ກ້າວຫນ້າກວ່າເມື່ອທຽບກັບການຈັດການຂໍ້ຄວາມທໍາມະດາ. ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະໃຊ້ການສະແດງອອກເປັນປົກກະຕິຢ່າງລະມັດລະວັງເພື່ອຮັກສາຄວາມສົມບູນຂອງໂຄງສ້າງ HTML. ວິທີການນີ້ແມ່ນມີຄວາມກ່ຽວຂ້ອງໂດຍສະເພາະສໍາລັບຄໍາຮ້ອງສະຫມັກເວັບທີ່ເນື້ອຫາຕ້ອງໄດ້ຮັບການສະແດງດ້ວຍຮູບແບບຕົ້ນສະບັບຂອງມັນ. ໃນຖານະເປັນສະເຫມີ, ກວດສອບຄວາມຍາວຂອງເນື້ອຫາຕົ້ນສະບັບແລະພິຈາລະນາປະສົບການຂອງຜູ້ໃຊ້ໃນເວລາທີ່ນໍາສະເຫນີ excerpts.

ແມ່ນແລ້ວ, WordPress ມີຊຸດຫນ້າທີ່ຂອງຕົນເອງແລະລັກສະນະທີ່ສ້າງຄວາມສະດວກໃນການສ້າງ excerpts, ເຊິ່ງສາມາດເຮັດໃຫ້ຂະບວນການງ່າຍດາຍຫຼາຍເມື່ອທຽບກັບການຈັດການ excerpts ດ້ວຍຕົນເອງໃນ PHP. ນີ້ແມ່ນພາບລວມຂອງຫນ້າທີ່ WordPress ທີ່ສໍາຄັນທີ່ກ່ຽວຂ້ອງກັບ excerpts:

ຟັງຊັນ excerpt ໃນ WordPress

WordPress API ສະເຫນີລະບົບທີ່ເຂັ້ມແຂງສໍາລັບການຈັດການ excerpts, ເຮັດໃຫ້ການປະຕິບັດຫນ້າທີ່ PHP ດ້ວຍຕົນເອງບໍ່ຈໍາເປັນສໍາລັບກໍລະນີການນໍາໃຊ້ທົ່ວໄປທີ່ສຸດ. WordPress ສະຫນອງວິທີການທີ່ເປັນມິດກັບຜູ້ໃຊ້ໃນການຄຸ້ມຄອງບົດສະຫຼຸບ, ບໍ່ວ່າຈະເປັນການປັບແຕ່ງຄວາມຍາວ, ການປ່ຽນແປງ ອ່ານ​ຕື່ມ ຂໍ້ຄວາມ, ຫຼືການໃຊ້ແທໍກແມ່ແບບເພື່ອສະແດງການຍົກອອກມາ.

the_excerpt()

ແທັກແມ່ແບບ WordPress ນີ້ພິມຂໍ້ຄວາມ excerpt ໂດຍອັດຕະໂນມັດສໍາລັບການຕອບ. ມັນຖືກນໍາໃຊ້ທົ່ວໄປໃນຫົວຂໍ້ເພື່ອສະແດງບົດສະຫຼຸບກ່ຽວກັບຫນ້າເກັບ.

  • ການນໍາໃຊ້: ສະຖານທີ່ the_excerpt() ພາຍໃນ Loop ໃນໄຟລ໌ຫົວຂໍ້ຂອງທ່ານບ່ອນທີ່ທ່ານຕ້ອງການ excerpt ປາກົດ.
  • Behavior: ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນສະແດງໃຫ້ເຫັນ 55 ຄໍາທໍາອິດຂອງການຕອບ. ຖ້າມີບົດຄັດຫຍໍ້ທີ່ຕັ້ງໄວ້ດ້ວຍຕົນເອງໃນບັນນາທິການຕອບ, ມັນຈະສະແດງມັນແທນ.

get_the_excerpt()

ຟັງຊັນນີ້ດຶງເອົາຂໍ້ຄວາມ excerpt ໂດຍບໍ່ມີການສະແດງມັນ, ໃຫ້ທ່ານຄວບຄຸມຫຼາຍກ່ຽວກັບວິທີການແລະບ່ອນທີ່ຈະໃຊ້ມັນ.

  • ການນໍາໃຊ້: get_the_excerpt($post) ສາມາດໃຊ້ເພື່ອດຶງເອົາຂໍ້ຄວາມສະເພາະຂອງໂພສໃດໜຶ່ງ.
  • ລູກຄ້າ: ທ່ານສາມາດຈັດການສະຕຣິງທີ່ສົ່ງຄືນໄດ້ຕາມຄວາມຕ້ອງການກ່ອນທີ່ຈະສະແດງມັນ.

ປັບແຕ່ງຄວາມຍາວຂອງບົດຄັດຫຍໍ້

WordPress ອະນຸຍາດໃຫ້ທ່ານປ່ຽນຄວາມຍາວ excerpt ໃນຕອນຕົ້ນຜ່ານທາງ 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')

ຟັງຊັນນີ້ສະແດງເນື້ອຫາຈົນກ່ວາມັນພົບກັບແທັກ "ຫຼາຍ". ມັນເປັນປະໂຫຍດສໍາລັບການສະແດງການຫຍໍ້ທໍ້ທີ່ມີຄວາມຍາວແບບກໍານົດເອງພາຍໃນຕົວແກ້ໄຂເນື້ອຫາ.

ປັບແຕ່ງການຍົກຂໍ້ຄວາມເພີ່ມເຕີມ

ທ່ານສາມາດປັບແຕ່ງຂໍ້ຄວາມທີ່ປາກົດຢູ່ໃນຕອນທ້າຍຂອງ excerpt (ເຊັ່ນ: […]) ໂດຍ​ການ​ນໍາ​ໃຊ້​ excerpt_more ຕົວກອງ

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

ການຈັດການ HTML ໃນບົດຄັດຫຍໍ້

ການຍົກອອກມາຂອງ WordPress ແມ່ນຂໍ້ຄວາມທໍາມະດາຕາມຄ່າເລີ່ມຕົ້ນ. ຖ້າທ່ານຕ້ອງການຮັກສາ tags HTML ໃນ excerpts, ທ່ານຕ້ອງສ້າງຫນ້າທີ່ກໍາຫນົດເອງຫຼືໃຊ້ plugin ທີ່ອອກແບບມາເພື່ອຈຸດປະສົງນີ້.

ແນວໃດກໍ່ຕາມ, ການເຂົ້າລະຫັດ ຫຼື plugins ແບບກຳນົດເອງອາດຈະຈຳເປັນສຳລັບຄວາມຕ້ອງການຂັ້ນສູງເຊັ່ນ: ການຮັກສາແທັກ HTML ໃນ excerpts ຫຼືການສ້າງ excerpts ໂດຍອີງໃສ່ອົງປະກອບສະເພາະເຊັ່ນ: ປະໂຫຍກ ຫຼືວັກຕ່າງໆ.

Douglas Karr

Douglas Karr ແມ່ນ CMO ຂອງ OpenINSIGHTS ແລະຜູ້ກໍ່ຕັ້ງຂອງ Martech Zone. Douglas ໄດ້ຊ່ວຍເຫຼືອຜູ້ເລີ່ມຕົ້ນ MarTech ຫຼາຍໆຄົນທີ່ປະສົບຜົນສໍາເລັດ, ໄດ້ຊ່ວຍເຫຼືອໃນຄວາມພາກພຽນອັນເນື່ອງມາຈາກຫຼາຍກວ່າ $ 5 ຕື້ໃນການຊື້ແລະການລົງທຶນ Martech, ແລະສືບຕໍ່ຊ່ວຍເຫຼືອບໍລິສັດໃນການປະຕິບັດແລະອັດຕະໂນມັດຍຸດທະສາດການຂາຍແລະການຕະຫຼາດຂອງພວກເຂົາ. Douglas ແມ່ນການຫັນເປັນດິຈິຕອນທີ່ໄດ້ຮັບການຍອມຮັບໃນລະດັບສາກົນແລະຜູ້ຊ່ຽວຊານ MarTech ແລະລໍາໂພງ. Douglas ຍັງເປັນຜູ້ຂຽນທີ່ພິມເຜີຍແຜ່ຂອງຄູ່ມືຂອງ Dummie ແລະຫນັງສືຜູ້ນໍາທາງທຸລະກິດ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ

ກັບໄປດ້ານເທິງສຸດ
ປິດ

ກວດພົບ Adblock

Martech Zone ສາມາດສະໜອງເນື້ອຫານີ້ໃຫ້ກັບເຈົ້າໄດ້ໂດຍບໍ່ເສຍຄ່າໃຊ້ຈ່າຍໃດໆ ເພາະວ່າພວກເຮົາສ້າງລາຍໄດ້ຈາກເວັບໄຊຂອງພວກເຮົາຜ່ານລາຍໄດ້ໂຄສະນາ, ລິ້ງເຊື່ອມໂຍງ ແລະສະປອນເຊີ. ພວກ​ເຮົາ​ຈະ​ຮູ້​ສຶກ​ດີ​ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຈະ​ເອົາ​ຕົວ​ບລັອກ​ການ​ໂຄ​ສະ​ນາ​ຂອງ​ທ່ານ​ທີ່​ທ່ານ​ເບິ່ງ​ເວັບ​ໄຊ​ຂອງ​ພວກ​ເຮົາ.