Autor Zpráva
opicak
Profil *
Dobrý den,
potřeboval bych, jak se dá zjistit počet odřádkování nebo jestli to jde jinou cestou, tak jakou. V sekci ,,Jak něco udělat?" jsem byl a nikdo tam odepisuje, tak se ptám ještě tady.

Na svém webu píšu články a já potřebuji na hlavní stránce, aby se ukázal v menších rozměrech, když kliknu např. na ,,čti více'', aby se otevřel celý článek.

Tohle všechno mám, ale když je článek rozsáhlejší, tak se v náhledu začne cpát mimo div a celá stánka se rozhází, tak bych potřeboval zjistit jestli jde nějak udělat a kdyžtak jak, když mám článek např. víc jak 5 řádku, aby se na konci pátého řádku napsali tři tečky a zbytek se uříznul.

Doufám, že jste to pochopili a budu rád za odpovědi.
pcmanik
Profil
Snad necakas ze za 12 minut ti niekdo odpise? Nabuduce toto nerob, a zaroven prosim moderatov, aby zmazali duplicitu.
hary28
Profil
Toto se spíše řeší tak, že pomoc funkce substr() si ořízneš pouze tolik znaků, kolik chceš vypsat.
opicak
Profil *
hary28:

Ok, díky.

Ale když tam mám například odřádkování, tak už je to větší problém ? Nebo jak je to s řádkováním, počítá se to jako jeden znak nebo jako počet znaků které chyběly do konce řádku ?
opicak
Profil *
pcmanik:

Jinak spamovat jsem fakt nechtěl, ale někde psali, že v sekci ,,Jak něco udělat ?" neodpovídají.

V jiných sekcí je pravda, že mi odpověděli do 10 minut.
Bubák
Profil
opicak:
V jiných sekcí je pravda, že mi odpověděli do 10 minut.
V jiných sekcích jsi se neptal ve sváteční den.
l564
Profil
opicak:
ale někde psali, že v sekci ,,Jak něco udělat ?" neodpovídají.
Prosím buď konkrétnější, vlož odkaz kde jsi toto četl.
Alphard
Profil
FAQ nestačí?
Co přesně myslíte odřádkováním nevím. Jestli máte v textu např. <br> nebo \n, tak by to spočítat šlo. Kde prohlížeč zalomí souvislý text předem přesně zjistit nejde. Uživatelé mohou mít různě velké písmo apod.
dtx
Profil *
zřejmě tedy chceš oříznout text tak, aby nepřesahoval pět řádků? Toto se bude dělat asi docela těžko, protože počet řádků určuje šírka obalovacího html prvku, letter-spacing, velikost fontu a jiné css vlastnosti a v php je tím pádem defacto nezjistitelný. Pokud má tvůj web jen jeden stylopis (uživatel nemá možnost si zvolit vzhled, jako na některých webech), můžeš poexperimentovat tak, že spočítáš kolik znaků obsahuje text do poloviny pátého řádku a na tuto hodnotu ořezávat zmíněnou funkcí substr(). Místo přímého použití substr() bych však doporučil něco v tomto smyslu:

 function textCut($text, $maxChars)
	{
		if(strlen($text) > $maxChars) {
			$text = substr($text, 0, $maxChars);
			$x = strrpos($text, ' ');
			return substr($text, 0, $x) . '... ';
		}
		return $text;
	}


což neořízne text uprostřed slova, ale nechá ho vypsat celé.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: