Autor Zpráva
Francs
Profil *
Chtěl bych ve větším textu spočítat počet slov a v případě dosažení slov 15 vložit HTML div. Jak toto mohu udělat?
Chuchycek
Profil
Ahoj,

neuvedl jsi jak je ten text vkládaný a proto třeba v php takto
Joker
Profil
Francs:
Viz také Zkrácení článku pro výpis perexu.
Francs
Profil *
Potřebuji vložit HTML do textu, například jakmile bude dovršeno 20 znaků, třeba:

Často je třeba vypsat v seznamu článků jen jejich krátkou <a href="#" id="zobrazit">Více</a> ukázku, tzv. perex. Pokud článek neobsahuje html značky, lze použít jednoduché
Manny
Profil
Já to kdysi dělal takhle:
$perex = '';                                                //Výchozí hodnota
$obsah = explode(" ",$row["text"]);                         //proměnou rozdělí do pole podle mezer
$pocet_slov = count($obsah);                                 //spočítá rozsah pole (počet slov)

for($i=0;$i<=newperex-1;$i++) {                                //projde polem x krát dle zadané hodnoty a uloží do proměnné
$perex .= $obsah[$i]." ";
            }
$perex = trim($perex);                                        //ořízne mezery na začátku a konce řetězce        
$pocet_slov >= newperex-1 ? $vice = '...' : $vice = '';        //Nastaví tečky pokud bude slov více
a pak už jenom echo $perex.$vice;
Za konstantu newperex si doplň počet slov v ukázce.
Samozřejmě by to šlo zkrátit a přepsat do funkce, ale pro pochopení to myslím stačí.
maks
Profil
Manny:
v podstatě se to takto dá (+-), ale než počítat slova je lépe počítat znaky (při chtěné délce např. 80 znaků utnout string v první mezeře před/za tímto limitem).
Manny
Profil
maks:
v podstatě se to takto dá (+-), ale než počítat slova je lépe počítat znaky (při chtěné délce např. 80 znaků utnout string v první mezeře před/za tímto limitem).
Samořejmě, počítat znaky bude jistější, ale na druhou stranu zásadní rozdíl v tom nebude. A navíc, Francs chtěl počítat slova.

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:

0