PHP: Glasur Är Extrait'en ugefaangen strrpos um Wuert benotzt

HTML Code

Wann Dir mat PHP schafft an Dir wëllt nëmmen en Auszuch aus Ärem Quelltext ze weisen an ofzeschneiden bei enger Zuel vu Personnagen, kënnt Äert Auszuch ellen ausgesinn wann et mëttlerweil gemaach gëtt. Ech hu missen eng Funktioun schreiwen fir dëst an ASP an an ASP.NET ze maachen, déi am Fong vum leschte Charakter zréckgefuer sinn fir de leschte Raum ze fannen an do ofzeschneiden. Aart béis an e bëssen Iwwerfäll. Dir kënnt dat tatsächlech a mengem Haus gesinn Säit wou ech nëmmen déi éischt 500 Zeeche liwweren.

Ech war voll bereet déi selwecht Funktioun mat PHP haut z'entwéckelen awer fonnt (wéi gewinnt) datt PHP eng Funktioun hat déi et scho mécht, strrpos.

Den alen Code hëlt e Substring ($ Inhalt) vum éischte Charakter op déi maximal Unzuel vun Zeechen déi Dir wëllt ($ maxchars):

$ Inhalt = Substr ($ Inhalt, 0, $ maxchars); Echo $ Inhalt;

Den neie Code:

$ Inhalt = Substr ($ Inhalt, 0, $ maxchars); $ pos = strrpos ($ Inhalt, ""); wann ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } Echo $ Inhalt;

Also schreift den neie Code als éischt den Inhalt un der Zeechelimit, déi Dir sicht. Wéi och ëmmer, de nächste Schrëtt ass fir de leschte Raum ("") am Inhalt ze sichen. $ Pos wäert dës Positioun ophalen. Elo garantéieren ech einfach datt et tatsächlech e Raum am Inhalt gëtt andeems ech froen ob $ pos> 0. Wann et net ass, gëtt et just den Inhalt ofgeschnidden op d'Zuel vun de Personnagen déi ech gefrot hunn. Wann et e Raum ass, wäert et mäi Inhalt op der Plaz graff ofschneiden.

Dëst ass e flotte Wee fir d'Kombinatioun vun der maximaler Unzuel u Personnagen ze benotzen an se um Wuert ofzeschneiden. Hoffen Dir hutt gär!

An ech si sécher datt ech erausfannen ob et eng ASP.NET Funktioun ass déi dëst mécht ... Ech konnt keng fannen.

7 Comments

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

    Wann $ Inhalt ufanks KORTER wéi $ maxchars ass, da gesäit de geschriwwene Code nach riets no lénks no enger Plaz aus a schneit dat lescht Wuert aus. Dir kënnt entweder e Raum um Enn vum $ Inhalt zesummesetzen, oder en if maachen (strlen () ...)

  5. 5

    Dëst schéngt als Funktioun ze schaffen (adresséiert de fréiere Kommentar):

    Funktioun Showexcerpt ($ Inhalt, $ maxchars) {

    wann (strlen ($ Inhalt)> $ maxchars) {

    $ Inhalt = Substr ($ Inhalt, 0, $ maxchars);
    $ pos = strrpos ($ Inhalt, "");

    wann ($ pos> 0) {
    $ Inhalt = Substr ($ Inhalt, 0, $ pos);
    }

    zréck $ Inhalt. "...";

    } {Aanescht

    zréck $ Inhalt;

    }

    }

  6. 6

    Wat wann eise leschte Charakter e Punktuatiounskarakter ass wéi e Full-Stop, Ausrufezeechen oder Frozeechen? Leider wäert dëse Code dat ganzt Wuert wëschen, ier e gesot Punktuatiounskarakter ass.  

    Ech mengen Dir wier besser eppes eppes méi robust ze schreiwen.

  7. 7

Wat denks du?

Dëse Site benotzt Akismet fir Spam ze reduzéieren. Léiert wéi Är Kommentarfaten veraarbecht ginn.