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è nan 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 pral 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 $ kontni se okòmansman SHORTER pase $ maxchars kòd la jan sa ekri toujou ap gade dwa a goch pou yon espas ak koupe dènye mo a. Ou ka swa konekte yon espas nan fen $ kontni, oswa fè yon si (strlen () ...)

  5. 5

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

    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, mak esklamasyon oswa 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.