Jump to content

návod Algoritmus pro zkrácení stringu


tbx

Recommended Posts

Zdar,

 

dnes jsem potřeboval napsat algoritmus pro zkrácení stringu, jelikož jsem ze stringu o počtu X znaků potřeboval mít string o maximální délce Y znaků.

 

Při finišování jsem se také rozhodl, že by to mohl být nejen prostředek pro nejen ostatní, méně zkušené, programátory PHP, ale taky programátory jiných jazyků, jelikož logika je v podstatě stejná.

 

 

 

Komentáře v kódu jsou, podle mého názoru, dostačující.

 

V případě nesouhlasu s něčím, případně návrhy na vylepšení sem prosím připište.

 

//EDIT: Upravena chyba "Uninitialized string offset: -1", když nebyl nalezen žádný string pro output

 

S pozdravem,

tbx

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Na Michalovo přání jsem udělal taky script.

Tento script má výhodu v tom, že nerozdělí slovo a nejdřív ho dopíše, takže místo aho... se napíše ahoj...

Link to comment
Share on other sites

Na Michalovo přání jsem udělal taky script.

Tento script má výhodu v tom, že nerozdělí slovo a nejdřív ho dopíše, takže místo aho... se napíše ahoj...

 

Tohle je diskutabilní. Já třeba nechci, aby to slovo dopsalo, jelikož když by to slovo bylo dlouhé, zasahovalo by do designu a nebylo by to pěkné. Sto lidí, sto chutí.

 

Každopádně i tak, děkuji,

Link to comment
Share on other sites

Na Michalovo přání jsem udělal taky script.

Tento script má výhodu v tom, že nerozdělí slovo a nejdřív ho dopíše, takže místo aho... se napíše ahoj...

 

Tohle je diskutabilní. Já třeba nechci, aby to slovo dopsalo, jelikož když by to slovo bylo dlouhé, zasahovalo by do designu a nebylo by to pěkné. Sto lidí, sto chutí.

 

Každopádně i tak, děkuji,

Co toto? Pokuď slovo by mělo skončit rozepsané, tak ho to odstraní ze stringu:

Link to comment
Share on other sites

@Michal Hojgr: No teda žádnej zázrak to neni... ty vlastně chceš pouze zkrátit string co má třeba 30 znaků na 10 znaků a doplnit na konec 3x tečku? + ošetřit, aby poslední znak nebyl z uvedených? Pokud ano, jak jsem snad dobře pochopil, tak to máš zbytečně komplikovaný, šlo by to mnohem lépe. Takto akorát zatěžuješ cyklem server a ještě používáš fci "ereg()"! Ta by se neměla používat, nejenom že je zastaralá, ale v některých případech háže chyby...

 

Jinak moje řešení...

 

@sQu4r3k: Twe, ty ses dobrej masér, implode, explode jak na běžícím páse.. tvůj kód na maximálně optimalizovaný a rychlý jako žádný jiný + to samé jako tady u kolegy ^.^ xD

Link to comment
Share on other sites

@Michal Hojgr: No teda žádnej zázrak to neni... ty vlastně chceš pouze zkrátit string co má třeba 30 znaků na 10 znaků a doplnit na konec 3x tečku? + ošetřit, aby poslední znak nebyl z uvedených? Pokud ano, jak jsem snad dobře pochopil, tak to máš zbytečně komplikovaný, šlo by to mnohem lépe. Takto akorát zatěžuješ cyklem server a ještě používáš fci "ereg()"! Ta by se neměla používat, nejenom že je zastaralá, ale v některých případech háže chyby...

 

Jinak moje řešení...

 

@sQu4r3k: Twe, ty ses dobrej masér, implode, explode jak na běžícím páse.. tvůj kód na maximálně optimalizovaný a rychlý jako žádný jiný + to samé jako tady u kolegy ^.^ xD

 

Děkuji za tvůj imho optimalizovaný kód, kterého si velice vážím.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...