PHP: Kurteya xwe li ser peyva ku strrpos bikar tîne qut bikin

koda html

Heke hûn bi PHP-ê re dixebitin û hûn dixwazin tenê jêderek ji nivîsara xweya jêderk nîşan bikin û li hejmarek tîpan qut bikin, jêderana we dikare xirbe xuya bike heke nav-string be. Ez neçar bûm ku fonksiyonek binivîsim ku vê yekê li ASP û ASP.NET bikim ku di bingeh de ji karakterê paşîn vegeriya ku cîhê paşîn bibîne û li wir qut bike. Cûreyek pîs û piçek zêde zêde. Hûn bi rastî dikarin vê yekê di çalakiyê de li ser mala min bibînin rûpel ku ez tenê 500 tîpên pêşîn pêşkêş dikim.

Ez bi tevahî amade bûm ku îro bi PHP-ê re heman fonksiyonê pêşve bibim lê dît (wekî her dem) ku PHP-ê xwediyê fonksiyonek bû ku jixwe wê dike, strrpos.

Koda kevn dê ji karaktera yekem rêzek jêrîn ($ naverok) bigire heya hejmara herî zêde ya tîpên ku hûn dixwazin ($ maxchars):

$ naverok = substr ($ naverok, 0, $ maxhar); echo $ naverok;

Koda nû:

$ naverok = substr ($ naverok, 0, $ maxhar); $ pos = strrpos ($ naverok, ""); ger ($ pos> 0) {$ naverok = substr ($ naverok, 0, $ pos); } echo $ naverok;

Ji ber vê yekê koda nû pêşî naverokê li tixûbê karakterê ku hûn lê digerin qut dike. Lêbelê, gava paşîn ev e ku di naverokê de li cîhê paşîn ("") bigerin. $ pos dê bibe ew pozîsyon. Naha, ez bi hêsanî piştrast dikim ku bi rastî di naverokê de cîhek heye bi pirsîna gelo $ pos> 0. Heke tune be, ew ê naverokê li hejmara tîpên ku min daxwaz kiriye qut bike. Ger cîhek hebe, ew ê bi rûmet naveroka min li fezayê qut bike.

Ev awayek xweşik e ku meriv bihevra jimareya herî zêde ya tîpan bikar bîne û wê li peyvê bibire. Hêvî dikim ku hûn dixwazin!

Ez bawer dikim ez ê fêr bibim ka fonksiyonek ASP.NET heye ku vê dike… min nedikarî yekê bibînim.

7 Comments

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

    Ger naveroka $ di destpêkê de ji $ maxchars SHORTTER be dê kodê ku hatî nivîsandin dîsa jî ji bo cihekî ji çepê rast xuya bike û gotina paşîn qut bike. Hûn dikarin di dawiya naveroka $ de valahiyek bi hev bikin, an jî heke (strlen ()) bikin

  5. 5

    Ev xuya bû ku wekî fonksiyonek dixebite (xîtabî şîroveya berê):

    showexcerpt fonksiyon ($ naverok, $ maxhar) {

    if (strlen ($ naverok)> $ maxhar) {

    $ naverok = substr ($ naverok, 0, $ maxhar);
    $ pos = strrpos ($ naverok, "");

    ger ($ pos> 0) {
    $ naverok = substr ($ naverok, 0, $ pos);
    }

    naveroka $ vegerînin. "";

    } Else {

    $ content return;

    }

    }

  6. 6

    Ma heke karakterê meya paşîn xalek xalbendî mîna xalek nîşane, qîrîn an pirsiyar be? Mixabin, ev kod dê tevahî bêjeya pêşîn a xeysetê xalbendiyê paqij bike.  

    Ez difikirim ku çêtir e ku hûn tiştek hinekî bihêztir binivîsin.

  7. 7

Hûn çi difikirin?

Ev malpera Akismet bikar tîne ku ji bo kêmkirina spam. Zêdetir agahdariya danûstandinên we çawa pêvajoy kirin.