Autor | Zpráva | ||
---|---|---|---|
VeronikaK Profil * |
#1 · Zasláno: 26. 7. 2011, 07:27:33
Budu mít třeba text:
Johann Sebastian Bach byl německý hudební skladatel a virtuóz na klávesové nástroje, považovaný za jednoho z největších hudebních géniů všech dob a završitele barokního hudebního stylu. Bachovo dílo mělo a má značný vliv na další vývoj hudby počínaje Mozartem a Beethovenem až po Schönberga nebo Goreckého. A já ho potřebuji přes PHP script (připomínám, že texty budou různé), potřebují načíst řekněme prvních 10 slov, udělat z toho <H1> nadpis a pak pokračovat v popisu .... ale již bez textu, který byl použít v <H1>. Moc Vám děkuji. |
||
Michal Benda Profil |
#2 · Zasláno: 26. 7. 2011, 08:12:32
Mohlo by to být asi takto:
$text = "Johann Sebastian Bach byl německý"; // atd. $slova = explode(" ", $text); $nadpis = ""; $pocet_znaku_v_nadpise = 0; for($i=0;$i<10;$i++){ $nadpis .= " ".$slova[$i]; $pocet_znaku_v_nadpise += strlen($slova[$i]) + 1; } $nadpis = substr($nadpis, 1); $pocet_znaku_v_nadpise--; $zbytek_textu = substr($text, $pocet+znaku_v_nadpise); echo $nadpis.$zbytek_textu; Dalo by se to samozřejmě celé zapouzdřit do funkce. |
||
Kry5 Profil |
#3 · Zasláno: 26. 7. 2011, 08:16:29 · Upravil/a: Kry5
Pokud text načítáš z databáze tak si ho jako první ulož do nějaké proměnné.
Pak si text rozlož na jednotlivá slova: $text = explode(" ", $text); A pak prvních deset prvků pole $text projdi cyklem: for($i=0; $i<10; $i++) { $first_ten .= " ".$text[$i]; } Po tom co tohle provedeš budeš mí t v proměnné $first_ten uloženo prvních deset slov pak stačí: <h1><?php echo htmlspecialchars($first_ten); ?> EDIT: nevšiml jsem si, že se z textu musí smazat ta slova z nadpisu -> použij příspěvek nademnou. |
||
petr 6 Profil |
#4 · Zasláno: 26. 7. 2011, 13:34:19
$text="Johann Sebastian Bach byl německý hudební skladatel a virtuóz na klávesové nástroje..."; $slova=explode(" ",$text); echo "<b>".implode(" ",array_slice($slova,0,10))."</b>"; echo " ".implode(" ",array_slice($slova,10)); Za 10 si dosaď počet slov, která chceš do nadpisu |
||
Jake898 Profil |
#5 · Zasláno: 26. 7. 2011, 14:44:59
Jedno z mnoha dalších řešení
<?php $text = 'Johann Sebastian Bach byl německý hudební skladatel a virtuóz na klávesové nástroje, považovaný za jednoho z největších hudebních géniů všech dob a završitele barokního hudebního stylu. Bachovo dílo mělo a má značný vliv na další vývoj hudby počínaje Mozartem a Beethovenem až po Schönberga nebo Goreckého.'; preg_match('~(\S+\s+){0,10}~', $text, $matches); echo trim($matches[0]) . '...'; |
||
Časová prodleva: 13 let
|
0