PHP: ຕັດ ຄຳ ສະ ເໜີ ຂອງທ່ານອອກດ້ວຍ ຄຳ ທີ່ໃຊ້ strrpos

ລະຫັດ html

ຖ້າທ່ານ ກຳ ລັງເຮັດວຽກກັບ PHP ແລະທ່ານຕ້ອງການສະແດງຄວາມຫຍໍ້ເທົ່ານັ້ນຈາກຕົວ ໜັງ ສືທີ່ມາຂອງທ່ານແລະຕັດມັນອອກຈາກຕົວອັກສອນຫຼາຍໆຕົວ, ຄຳ ອ້າງອີງຂອງທ່ານສາມາດເບິ່ງວ່າບໍ່ດີຖ້າມັນເຮັດໄດ້ກາງ. ຂ້ອຍຕ້ອງຂຽນ ໜ້າ ທີ່ເພື່ອເຮັດສິ່ງນີ້ໃນ ASP ແລະໃນ ASP.NET ໂດຍພື້ນຖານແລ້ວຮອບວຽນຈາກລັກສະນະສຸດທ້າຍກັບມາຊອກຫາຊ່ອງຫວ່າງສຸດທ້າຍແລະຕັດມັນຢູ່ທີ່ນັ້ນ. ປະເພດຂອງ nasty ແລະເລັກນ້ອຍຂອງ overkill. ທ່ານສາມາດເຫັນຕົວຈິງໃນການກະ ທຳ ຢູ່ເຮືອນຂອງຂ້ອຍ Page ບ່ອນທີ່ຂ້ອຍໃຫ້ພຽງ 500 ອັກສອນ ທຳ ອິດເທົ່ານັ້ນ.

ຂ້ອຍໄດ້ກຽມພ້ອມຢ່າງເຕັມທີ່ໃນການພັດທະນາຟັງຊັນດຽວກັນກັບ PHP ມື້ນີ້ແຕ່ພົບວ່າ (ຕາມປົກກະຕິ) ວ່າ PHP ມີ ໜ້າ ທີ່ເຮັດແລ້ວ, strrpos.

ລະຫັດເກົ່າຈະເອົາຕົວອັກສອນຫຍໍ້ ($ ເນື້ອຫາ) ຈາກຕົວອັກສອນ ທຳ ອິດຈົນເຖິງໂຕອັກສອນສູງສຸດທີ່ທ່ານຕ້ອງການ ($ maxchars):

$ content = substr ($ content, 0, $ maxchars); echo $ ເນື້ອຫາ;

ລະຫັດ ໃໝ່:

$ content = substr ($ content, 0, $ maxchars); $ pos = strrpos ($ ເນື້ອຫາ, ""); ຖ້າ ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } echo $ ເນື້ອຫາ;

ດັ່ງນັ້ນລະຫັດ ໃໝ່ ນີ້ຈະຕັດເນື້ອຫາອອກກ່ອນຂອບເຂດທີ່ທ່ານ ກຳ ລັງຊອກຫາຢູ່. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຂັ້ນຕອນຕໍ່ໄປແມ່ນການຊອກຫາຊ່ອງສຸດທ້າຍ ("") ໃນເນື້ອຫາ. $ pos ຈະລົມກັບການເປັນ ຕຳ ແໜ່ງ ນັ້ນ. ຕອນນີ້ຂ້ອຍພຽງແຕ່ຮັບປະກັນວ່າຕົວຈິງມີພື້ນທີ່ໃນເນື້ອຫາໂດຍຖາມວ່າ $ pos> 0. ຖ້າບໍ່ມີ, ມັນພຽງແຕ່ຈະຕັດເນື້ອຫາອອກຕາມ ຈຳ ນວນຕົວອັກສອນທີ່ຂ້ອຍໄດ້ຮ້ອງຂໍ. ຖ້າມີພື້ນທີ່, ມັນກໍ່ຈະຕັດເນື້ອຫາຂອງຂ້ອຍອອກໄປໃນອະວະກາດ.

ນີ້ແມ່ນວິທີການທີ່ດີຂອງການ ນຳ ໃຊ້ການປະສົມປະສານຂອງ ຈຳ ນວນຕົວອັກສອນສູງສຸດແລະການຕັດມັນທີ່ ຄຳ. ຫວັງວ່າເຈົ້າຈະມັກ!

ແລະຂ້ອຍແນ່ໃຈວ່າຂ້ອຍຈະພົບວ່າມີຫນ້າທີ່ ASP.NET ທີ່ເຮັດແບບນີ້ ... ຂ້ອຍບໍ່ສາມາດຊອກຫາມັນໄດ້.

7 ຄໍາເຫັນ

  1. 1
  2. 2
  3. 3
  4. 4

    ຖ້າ $content ໃນເບື້ອງຕົ້ນສັ້ນກວ່າ $maxchars ລະຫັດທີ່ຂຽນຈະຍັງຄົງເບິ່ງຂວາໄປຊ້າຍເພື່ອມີຊ່ອງຫວ່າງແລະຕັດຄໍາສຸດທ້າຍອອກ. ທ່ານ​ສາ​ມາດ concatenate ຊ່ອງ​ໃນ​ຕອນ​ທ້າຍ​ຂອງ $content, ຫຼື​ເຮັດ​ການ if (strlen()…)

  5. 5

    ນີ້ເບິ່ງຄືວ່າຈະເຮັດວຽກເປັນຫນ້າທີ່ (ແກ້ໄຂຄໍາເຫັນກ່ອນຫນ້ານີ້):

    function showexcerpt($content, $maxchars) {

    ຖ້າ (strlen($content) > $maxchars) {

    $content= substr($content, 0, $maxchars);
    $pos = strrpos($content, " ");

    ຖ້າ ($pos>0) {
    $content = substr($content, 0, $pos);
    }

    ສົ່ງຄືນ $content . “…”;

    } else {

    ຄືນເນື້ອຫາ $

    }

    }

  6. 6

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

    ຂ້າ​ພະ​ເຈົ້າ​ຄິດ​ວ່າ​ທ່ານ​ຈະ​ດີກ​ວ່າ​ທີ່​ຈະ​ຂຽນ​ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ທີ່​ເຂັ້ມ​ແຂງ​ພຽງ​ເລັກ​ນ້ອຍ​.

  7. 7

ທ່ານຄິດແນວໃດ?

ເວັບໄຊທ໌ນີ້ໃຊ້ Akismet ເພື່ອຫຼຸດຜ່ອນການຂີ້ເຫຍື້ອ. ຮຽນຮູ້ວິທີທີ່ຂໍ້ມູນຂອງທ່ານຖືກປະຕິບັດ.