PHP: Gupitin ang iyong sipi sa salitang gumagamit ng strrpos

html code

Kung nagtatrabaho ka sa PHP at nais mong magpakita lamang ng isang sipi mula sa iyong pinagmulang teksto at putulin ito sa isang bilang ng mga character, maaaring magmukhang pangit ang iyong sipi kung tapos na ito sa mid-string. Kailangan kong magsulat ng isang pagpapaandar upang magawa ito sa ASP at sa ASP.NET na karaniwang paikot mula sa huling karakter pabalik upang makita ang huling puwang at putulin ito doon. Uri ng pangit at kaunting labis na labis na paggamit. Talagang makikita mo ito sa aksyon sa aking tahanan pahina kung saan ko lang ibibigay ang unang 500 character.

Ako ay buong handa na bumuo ng parehong pag-andar sa PHP ngayon ngunit natagpuan (tulad ng dati) na ang PHP ay may isang pagpapaandar na ginagawa na ito, strrpos.

Ang lumang code ay kukuha ng isang substring ($ nilalaman) mula sa unang character hanggang sa maximum na bilang ng mga character na gusto mo ($ maxchars):

$ nilalaman = substr ($ nilalaman, 0, $ maxchars); echo $ nilalaman;

Ang bagong code:

$ nilalaman = substr ($ nilalaman, 0, $ maxchars); $ pos = strrpos ($ nilalaman, ""); kung ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } echo ng $ nilalaman;

Kaya't pinuputol muna ng bagong code ang nilalaman sa limitasyon ng character na iyong hinahanap. Gayunpaman, ang susunod na hakbang ay upang hanapin ang huling puwang ("") sa nilalaman. Ang $ pos ay mawawalan ng posisyon na iyon. Ngayon, tinitiyak ko lang na talagang may puwang sa nilalaman sa pamamagitan ng pagtatanong kung $ pos> 0. Kung wala, piputolin lamang nito ang nilalaman sa bilang ng mga character na hiniling ko. Kung mayroong anumang puwang, ito ay kaaya-ayang magtatanggal ng aking nilalaman sa puwang.

Ito ay isang magandang paraan ng paggamit ng kumbinasyon ng maximum na bilang ng mga character at ang pagputol nito sa salita. Sana nagustuhan mo!

At sigurado akong malalaman ko kung mayroong isang pagpapaandar ng ASP.NET na ginagawa ito ... Hindi ko makita ang isa.

7 Comments

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

    Kung ang nilalaman ng $ sa simula ay MAS PANTAY sa $ maxchars ang code na nakasulat ay makikita pa rin sa kanan pakaliwa para sa isang puwang at putulin ang huling salita. Maaari mong pagsamahin ang isang puwang sa pagtatapos ng $ nilalaman, o gawin ang isang kung (strlen ()…)

  5. 5

    Tila ito ay gumana bilang isang function (pagtugon sa nakaraang puna):

    function na showexcerpt ($ nilalaman, $ maxchars) {

    kung (strlen ($ nilalaman)> $ maxchars) {

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

    kung ($ pos> 0) {
    $ nilalaman = substr ($ nilalaman, 0, $ pos);
    }

    ibalik ang $ nilalaman. "...";

    } Iba pa {

    bumalik $ nilalaman;

    }

    }

  6. 6

    Paano kung ang aming pangwakas na character ay isang character na bantas tulad ng isang full-stop, tandang padamdam o marka ng tanong? Sa kasamaang palad, tatanggalin ng code na ito ang buong salitang nauna sa nasabing character na bantas.  

    Sa palagay ko mas mahusay ka sa pagsulat ng isang bagay na medyo mas matatag.

  7. 7

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.