PHP: Koupe ekstrè ou nan mo a lè l sèvi avèk strrpos

html kòd

Si w ap travay ak PHP epi ou vle sèlman montre yon ekstrè nan tèks sous ou a epi koupe li nan yon kantite karaktè, ekstrè ou ka gade lèd si li fè mitan-fisèl. Mwen te gen yo ekri yon fonksyon fè sa nan ASP ak nan ASP.NET ki fondamantalman monte bisiklèt soti nan karaktè ki sot pase a tounen jwenn espas ki sot pase a, li koupe l 'la. Kalite anbarasan ak yon ti kras nan overkill. Ou ka aktyèlman wè sa a nan aksyon sou kay mwen an paj kote mwen sèlman bay premye 500 karaktè yo.

Mwen te konplètman prepare yo devlope fonksyon an menm ak PHP jodi a, men yo te jwenn (kòm dabitid) ke PHP te gen yon fonksyon ki fè li deja, strrpos.

Kòd la fin vye granmoun pral pran yon substring ($ kontni) soti nan karaktè nan premye kantite maksimòm karaktè ou vle ($ maxchars):

$ kontni = substr ($ kontni, 0, $ maxchars); eko $ kontni;

Nouvo kòd la:

$ kontni = substr ($ kontni, 0, $ maxchars); $ pos = strrpos ($ kontni, ""); si ($ pos> 0) {$ kontni = substr ($ kontni, 0, $ pos); } eko $ kontni;

Se konsa, nouvo kòd la premye koupe kontni an nan limit la karaktè w ap chèche pou. Sepandan, pwochen etap la se gade pou dènye espas la ("") nan kontni an. $ pos ap fini ke yo te pozisyon sa. Koulye a, mwen senpleman asire ke gen aktyèlman yon espas nan kontni an pa mande si $ pos> 0. Si pa gen, li pral jis koupe kontni an nan kantite karaktè mwen te mande. Si gen nenpòt espas, li pral grasyeu koupe kontni mwen an nan espas la.

Sa a se yon fason bèl nan lè l sèvi avèk konbinezon an nan la pou maksimòm kantite karaktè ak koupe a li koupe nan pawòl Bondye a. Espere ou renmen!

Apre sa, mwen si ke mwen pral chèche konnen si gen yon fonksyon ASP.NET ki fè sa ... Mwen pa t 'kapab jwenn youn.

7 Kòmantè

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

    Si $content okòmansman PI KOUT pase $maxchars kòd la jan yo ekri a ap toujou gade dwat a goch pou yon espas epi koupe dènye mo a. Ou ka swa konkate yon espas nan fen $kontni, oswa fè yon si (strlen()...)

  5. 5

    Sa a te sanble travay kòm yon fonksyon (adrese kòmantè anvan an):

    fonksyon showexcerpt($kontni, $maxchars) {

    si (strlen($kontni) > $maxchars) {

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

    si ($pos>0) {
    $kontni = substr($kontni, 0, $pos);
    }

    retounen $kontni . "…";

    } Lòt bagay {

    retounen $ kontni;

    }

    }

  6. 6

    E si karaktè final nou an se yon karaktè ponktiyasyon tankou yon pwen total, yon mak esklamasyon oswa yon mak kesyon? Malerezman, kòd sa a pral siye tout mo ki vin anvan karaktè ponktiyasyon an.  

    Mwen panse ke ou ta pi bon ekri yon bagay yon ti kras pi solid.

  7. 7

Ki sa ou panse?

Sit sa a sèvi ak Akismet diminye Spam. Aprann kijan kòmantè ou a trete.