PHP: Potong petikan anjeun tina kecap nganggo strrpos

kode html

Upami anjeun damel sareng PHP sareng anjeun ngan ukur hoyong nunjukkeun excerpt tina téks narasumber anjeun sareng neukteukna dina sababaraha karakter, excerpt anjeun tiasa katingali awon upami parantos mid-string. Kuring kedah nyerat fungsi pikeun ngalakukeun ieu di ASP sareng di ASP.NET anu dasarna siklik tina karakter pamungkas pikeun milari rohangan anu terakhir sareng motong na di ditu. Jenis jahat sareng sakedik overkill. Anjeun leres-leres tiasa ningal ieu di bumi kaca dimana kuring ngan ukur nyayogikeun 500 karakter munggaran.

Kuring sapinuhna siap ngembangkeun fungsi anu sami sareng PHP ayeuna tapi mendakan (sapertos biasana) PHP ngagaduhan fungsi anu parantos, strpos.

Kodeu lami bakal nyandak substring ($ content) ti karakter munggaran dugi ka jumlah karakter anu anjeun pikahoyong ($ maxchars):

$ eusi = substr ($ eusi, 0, $ maxchars); gema $ eusi;

Kodeu anyar:

$ eusi = substr ($ eusi, 0, $ maxchars); $ pos = strrpos ($ eusi, ""); upami ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } echo $ eusi;

Janten kode anyar mimiti ngirangan eusi dina wates karakter anu dipilari. Nanging, léngkah salajengna nyaéta milari rohangan panungtung ("") dina konténna. $ pos bakal janten posisi éta. Ayeuna, kuring ngan saukur mastikeun yén saleresna aya rohangan dina kontén ku naroskeun naha $ pos> 0. Upami teu aya, éta ngan ukur bakal motong eusina dina jumlah karakter anu kuring parantos nyungkeun. Upami aya rohangan nanaon, éta bakal anggun motong eusi kuring di rohangan éta.

Ieu cara anu saé ngagunakeun kombinasi jumlah maksimum karakter sareng motong na dina kecap. Miharep anjeun resep!

Sareng kuring yakin kuring bakal terang upami aya fungsi ASP.NET anu ngalakukeun ieu ... Abdi henteu mendakan.

7 Komentar

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

    Lamun $eusi mimitina leuwih pondok ti $maxchars kode sakumaha ditulis masih bakal kasampak katuhu ka kénca pikeun spasi tur motong kaluar kecap panungtungan. Anjeun tiasa ngahijikeun rohangan dina tungtung $ eusi, atanapi ngalakukeun upami (strlen ()…)

  5. 5

    Ieu sigana tiasa dianggo salaku fungsi (ngarengsekeun koméntar sateuacana):

    fungsi showexcerpt ($ eusi, $maxchars) {

    lamun (strlen ($ eusi) > $maxchars) {

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

    lamun ($pos>0) {
    $eusi = substr($eusi, 0, $pos);
    }

    mulangkeun $eusi. "…";

    } Sejenna {

    balik $ eusi;

    }

    }

  6. 6

    Kumaha upami karakter ahir urang mangrupikeun karakter tanda baca sapertos titik lengkep, tanda seru atanapi tanda tanya? Hanjakalna, kode ieu bakal mupus sakabéh kecap saacanna karakter tanda baca.  

    Jigana anjeun bakal leuwih hadé nulis hal saeutik leuwih mantap.

  7. 7

Naon anu anjeun pikirkeun?

Situs migunakeun Akismet pikeun ngurangan spam. Diajar kumaha komentar data anjeun diolah.