PHP: Ka jar qeybtaada ereyga adoo adeegsanaya strrpos

lambar HTML

Haddii aad la shaqeyneyso PHP oo aad rabto inaad kaliya muujiso qayb ka mid ah qoraalkaaga isha oo aad ka jarto tiro astaamo ah, qoraalkaaga wuxuu u muuqan karaa mid fool xun haddii la sameeyo xarig-dhexe. Waxay ahayd inaan qoro shaqo si tan loogu sameeyo ASP iyo ASP.NET oo asal ahaan ka soo jeeda qofkii ugu dambeeyay gadaal si aan u helo booskii ugu dambeeyay oo aan halkaas uga jaro. Nooc xun iyo wax yar oo xad dhaaf ah. Runtii waad ku arki kartaa tan ficil gurigeyga Page halkaasoo aan ku bixiyo kaliya 500 ee xaraf.

Waxaan si buuxda ugu diyaar garoobay inaan horumariyo isla shaqada PHP maanta laakiin waxaan helay (sidii caadiga ahayd) in PHP ay laheyd shaqo horey usameysay, xikmad.

Koodhkii hore wuxuu ka soo qaadan doonaa xariiq ($ content) astaamaha ugu horreeya illaa tirada ugu badan ee astaamaha aad rabto ($ maxchars):

$ content = substr ($ content, 0, $ maxchars); dhawaaqa $ content;

Koodhka cusub:

$ content = substr ($ content, 0, $ maxchars); $ pos = strrpos ($ content, ""); haddii ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } dhawaaqa $ content;

Marka koodhka cusubi wuxuu marka hore jaraya waxyaabaha ku jira xadka astaamaha aad raadineyso. Si kastaba ha noqotee, tallaabada xigta waa in la raadiyo booska ugu dambeeya (”“) ee ku jira maaddada. $ pos ayaa dabeyl ku noqon doonta booskaas. Hadda, waxaan si fudud u hubiyaa inay runti jirto meel ka kooban waxa ku jira anigoo weydiinaya haddii $ pos> 0. Haddii aysan jirin, waxay kaliya ka jari doontaa waxyaabaha ku jira tirada jilayaasha aan codsaday. Haddii ay jirto meel bannaan, waxay si qurux badan uga jareysaa waxyaabaha aan ka helayo meesha.

Tani waa hab fiican oo loo adeegsado isku darka tirada ugu badan ee jilayaasha iyo jarista erayga. Waxaan rajeynayaa inaad jeceshahay!

Waana hubaa inaan ogaan doono haddii uu jiro hawl ASP.NET ah oo tan sameysa… Ma aanan helin mid.

7 Comments

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

    Haddii $ content uu markii hore SHORTER ka badan yahay $ maxchars koodhkii sida qoran lagu qoray wuxuu weli u muuqanayaa midig bidix illaa meel bannaan oo gooyaa eraygii u dambeeyay. Waxaad iskudarsan kartaa boos dhamaadka $ content, ama sameyn kartaa haddii (strlen ()…)

  5. 5

    Tani waxay umuuqatay inay u shaqeyso sidii shaqeyn (wax ka qabashada faallooyinkii hore):

    waxqabadka showexcerpt ($ content, $ maxchars) {

    haddii (strlen ($ content)> $ maxchars) {

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

    haddii ($ pos> 0) {
    $ content = substr ($ content, 0, $ pos);
    }

    soo celi $ content. "…";

    } kale {

    soo celi $ maadada;

    }

    }

  6. 6

    Ka waran haddii dabeecadeena ugu dambeysa ay tahay astaamo sida astaamo-joogsi, calaamo qaylo-dhaan ama calaamatu su'aal? Nasiib darrose, lambarkani wuxuu tirtiri doonaa dhammaan eraygii ka horreeyay ee lagu sheegay astaamaha.  

    Waxaan u maleynayaa inaad ka fiicnaan laheyd inaad qorto wax xoogaa xoog yar.

  7. 7

Maxay idinla tahay?

Boggani wuxuu isticmaalaa Akismet si loo yareeyo spam. Baro sida xogtaada faallooyinkaaga looga shaqeeyo.