PHP: Iškirpkite žodžio ištrauką naudodami strrpos

HTML kodas

Jei dirbate su PHP ir norite rodyti tik savo pirminio teksto ištrauką ir ją atskirti daugeliu simbolių, jūsų ištrauka gali atrodyti negraži, jei ji bus padaryta viduryje eilutės. Aš turėjau parašyti funkciją tai padaryti ASP ir ASP.NET, kuri iš esmės perėjo nuo paskutinio simbolio atgal, kad surastų paskutinę vietą ir ją ten nukirptų. Kažkoks bjaurus ir šiek tiek perdėtas. Iš tikrųjų tai galite pamatyti mano namuose puslapis kur pateikiu tik pirmuosius 500 simbolių.

Buvau visiškai pasirengęs šiandien sukurti tą pačią funkciją su PHP, bet radau (kaip įprasta), kad PHP jau turėjo funkciją, strrpos.

Senojo kodo pakraštyje ($ content) nuo pirmo simbolio bus maksimalus norimas simbolių skaičius ($ maxchars):

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

Naujas kodas:

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

Taigi naujasis kodas pirmiausia nutraukia turimą turimą simbolių skaičių, kurio ieškote. Tačiau kitas žingsnis yra ieškoti paskutinės turinio vietos („“). $ pos baigsis tokia pozicija. Dabar paprasčiausiai užtikrinu, kad turinyje iš tikrųjų yra vietos, klausdamas, ar $ pos> 0. Jei to nebus, jis tiesiog iškirs turinį pagal mano prašomą simbolių skaičių. Jei yra vietos, ji grakščiai nukirs mano turinį.

Tai yra puikus būdas naudoti maksimalaus simbolių skaičiaus derinį ir jį sumažinti žodžiui. Tikiuosi, kad jums patiks!

Ir aš tikiu, kad sužinosiu, ar yra ASP.NET funkcija, kuri tai daro ... Aš negalėjau jos rasti.