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

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

  5. 5

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

    function showexcerpt ($ ເນື້ອໃນ, $ maxchars) {

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

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

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

    ກັບຄືນເນື້ອຫາ $. "…";

    } else {

    ຄືນເນື້ອຫາ $

    }

    }

  6. 6

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

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

  7. 7

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

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