PHP: ebaki zure zatiaren hitza strrpos erabiliz

html kodea

PHPrekin lan egiten baduzu eta zure iturburuko testuko zatitxo bat soilik erakutsi eta karaktere kopuru batekin moztu nahi baduzu, zatiak itxura txarra izan dezake kate erdian egiten bada. Funtzio bat idatzi behar nuen ASPn eta ASP.NET-en, funtsean, azken karakteretik atzera joaten zena azken espazioa aurkitzeko eta bertan mozteko. Gaiztoa eta gehiegizko gehiegikeria. Egia esan, nire etxean ekintzetan ikus dezakezu orri bertan lehen 500 karaktere bakarra ematen dut.

PHPrekin funtzio bera garatzeko guztiz prest nengoen baina aurkitu dut (ohi bezala) PHPk jada egiten duen funtzioa zuela, strrpos.

Kode zaharrak azpi-kate bat hartuko du ($ content) lehen karakteretik nahi duzun gehienezko karaktere kopurura arte ($ maxchars):

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

Kode berria:

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

Beraz, kode berriak lehenik eta behin bilatzen ari zaren karaktere-mugan edukia mozten du. Hala ere, hurrengo urratsa edukiaren azken espazioa ("") bilatzea da. $ pos posizio hori izatera pasako da. Orain, ziurtatu besterik ez dut edukian espazio bat dagoela $ pos> 0 ea galdetuz. Ez badago, edukia eskatu dudan karaktere kopurua moztuko du. Espaziorik baldin badago, nire edukia modu dotorean moztuko du espazioan.

Gehienezko karaktere kopuruaren konbinazioa eta hitza mozteko modu polita da hau. Gustatuko zaizuelakoan!

Eta ziur nago jakingo dudan ASP.NET funtziorik badagoela hori egiten ... Ezin nuen bat aurkitu.