Szöveg rövidítése helyesen
A lenti kódrészlet nem tesz egyebet, minthogy levágja a szövegünket a paramétertől kapott hosszúságra. Ez még önmagába nem nagy dolog, hisz a substr php függvény egyszerűen megoldja a feladatot. A függvény annyiban különbözik, hogy ez az utolsó szónál vágja le szövegünket. Ez rövid leírásoknál, címeknél hasznos lehet.
function trim_text($input, $length, $ellipses = true, $strip_html = true) { //ha ha paraméternek van értéke kiveszi a HTML elemeket if ($strip_html) { $input = strip_tags($input); } //csak akkor vágjuk le ha hosszabb mind amit mi szeretnénk if (strlen($input) <= $length) { return $input; } //megkeressük az utolsó space -t $last_space = strrpos(substr($input, 0, $length), ' '); $trimmed_text = substr($input, 0, $last_space); //betesszük a levágást jelző karaktereket if ($ellipses) { $trimmed_text .= ' ...'; } //a levágott szöveg return $trimmed_text; } |
Példakód letöltése itt ( trim_text.zip )
Kapcsolódó bejegyzések:
Üdv! Aki fejleszt php-cli-re, valószínűleg beleütközött abba a problémába, hogy lehet a felhasználótól adatot bekérni. Sok nyelvben, például Python-ban ez egysz …
Felmerült egy kérdésként, hogy lehetne egy login oldal tartalmánál (belépési név és jelszót kell megadni) jelezni a felhasználók számára azt, hogy melyik mező mi …
Weblapkészítés során ha egy olyan oldalt kell készíteni, hol egy vagy akár több input mező is van (regisztráció, kapcsolatfelvétel stb..), hasznos lehet megadni, …
Az alábbi JavaScript kód segítségével könnyedén ellenőrizhetjük, hogy a megadott e-mail cím formailag helyes-e. A function TRUE vagy FALSE értékkel tér vissza. ( …
Form-ok készítése esetén biztos volt már dolgod az alapértelmezett (és meglehetősen csúnya) nagy, szürke “submit” gombokkal. Ezek sok esetben rontanak a …
A cikket beküldte: Gombos Lorand (http://)
Nem rossz, de mért jó az, ha kiveszed a html tag -eket? Hisz akkor elveszik a formázás… Ha amúgy is formázott a szövegem, akkor nem fogom ezt használni a formázás miatt.
Egyébként jó.
Talán annyi lehetne rugalmasítani (nem tudom van-e ilyen szó :P), hogy a $ellipses default értéke “” (üres string), és akkor paraméterként meg lehet adni levágást jelző karaktereket, és egy if -el kevesebb.
Zogmund
A formazas leszedese az opcionalis. Sokszor pl mikor cimeket akarunk kiiratni, vegul is csak a szoveget akarjuk levagni a formazas alltalaban utolag kerul ra. Ennek ellenere $strip_html false -ra allitva kiutjuk ezt a lehetoseget.
A masodik megjegyzesedben teljesen igazat adok neked. Nekem “…” kellett s ezt hagytam, de siman ha ures stringre allitanam default akkor jobb lenne, hisz ha van erteke !empty akkor az ellipses erteket ragasztanam a szoveg vegre.
Koszi a hozzaszolast mindenkeppen jo otlet volt ez az ellipses -es dolog.
Az $ellipses -es modositast valahogy igy kepzelnem el:
helyett
Meg azzal egeszitenem ki, hogy a levagast jelzo karakterek csak akkor legyenek benne, ha a szoveg tenylegesen hoszabb mind a $lenght.
gomby: szerintem nem kell az if, hisz ha az $ellipses úgy is empty, akkor a konkatenáció nem fűz hozzá semmit! Ezért is mondtam, hogy így nem kell az az if.
Szerintem ;)
Igen helyes, nem tudom miert irtam az utolso hozzaszolasomat :)
Köszönöm… Most sokat segítettél ezzel a fv-el:)