wugelsons Posted June 13, 2009 Report Share Posted June 13, 2009 Lieta tāda ir lapa ar CMS, kur ziņas tiek no MySQL DB. Lapā ziņas parādās pilnā tekstā. Kā dabūt lai parādītos tikai daļa no teksta un pārējo dabū ar piespiežot "Read more..."? Quote Link to comment Share on other sites More sharing options...
kechums Posted June 13, 2009 Report Share Posted June 13, 2009 Uztaisi db vēlvienu lauku pilns_teksts, pie jaunumu pievienošanas to lauku aizpildi tikai tad, ja jaunuma teksts, pēc tavām domām, ir pārāk garš un tad ar vienu IF'u. Ja lauks pilns_teksts ir aizpildīts, tad izvadīt linku read more. Quote Link to comment Share on other sites More sharing options...
wugelsons Posted June 13, 2009 Author Report Share Posted June 13, 2009 Bet es nezinu kā strādā read more. Kāds varētu iedot kodu? Quote Link to comment Share on other sites More sharing options...
werd Posted June 13, 2009 Report Share Posted June 13, 2009 (edited) Ja teksts ir garāks, par tevis noteikto limitu, tad izvadi tieši tik daudz sombolus no šī teksta un pieliec saiti "Read more" Teksta garumu nosaki ar strlen funkciju, izvadi noteiktu simbolu skaitu ar substr funkciju, bet to, vai teksts ir garāks - ar parastu vaicājumu. if (strlen($text)>$limit) { echo substr($text,0,$limit); echo '<a href="#">Read more</a>'; } else echo $text; Uz zem "Read more" var dažādi likt, piemēram, kad atver jaunā lapā un pēc ID izvadam visu tekstu, vai ar JavaScript atveram/paslēpjam pārējo tekstu vai kā savādāk. Edited June 13, 2009 by phpjanis Quote Link to comment Share on other sites More sharing options...
Snaip3Rs Posted June 14, 2009 Report Share Posted June 14, 2009 Ja teksts ir garāks, par tevis noteikto limitu, tad izvadi tieši tik daudz sombolus no šī teksta un pieliec saiti "Read more"Teksta garumu nosaki ar strlen funkciju, izvadi noteiktu simbolu skaitu ar substr funkciju, bet to, vai teksts ir garāks - ar parastu vaicājumu. if (strlen($text)>$limit) { echo substr($text,0,$limit); echo '<a href="#">Read more</a>'; } else echo $text; Uz zem "Read more" var dažādi likt, piemēram, kad atver jaunā lapā un pēc ID izvadam visu tekstu, vai ar JavaScript atveram/paslēpjam pārējo tekstu vai kā savādāk. Vari iedot to javascript un kur jalie klai atvēras haiden box un parāda visu textu! Plzz. :) Quote Link to comment Share on other sites More sharing options...
werd Posted June 14, 2009 Report Share Posted June 14, 2009 function showHideBlock (blockid) { if (document.getElementById(blockid).style.display=='block') { document.getElementById(blockid).style.display = 'none'; } else { document.getElementById(blockid).style.display = 'block'; } } Quote Link to comment Share on other sites More sharing options...
Snaip3Rs Posted June 14, 2009 Report Share Posted June 14, 2009 A no kurienes viņš ņems textu un kas jaraksta lasit vairak linka? ko lai ver vala! Quote Link to comment Share on other sites More sharing options...
werd Posted June 14, 2009 Report Share Posted June 14, 2009 Laukā, kas ir paslēpts, izvadi atlikušo tekstu, ja tāds ir, un izvadi saiti. <script> function showHideBlock (blockid) { if (document.getElementById(blockid).style.display=='block') { document.getElementById(blockid).style.display = 'none'; } else { document.getElementById(blockid).style.display = 'block'; } } </script> <? if (strlen($text)>$limit) { echo substr($text,0,$limit); echo '<div id="block_'.$block_id.'">'.substr($text,$limit,strlen($text));.'</div>'; echo '<a href="java script:void(0)" onclick="showHideBlock("block_'.$block_id.'")">Read more</a>'; } else echo $text; ?> Quote Link to comment Share on other sites More sharing options...
endrju Posted June 15, 2009 Report Share Posted June 15, 2009 if (strlen($text)>$limit) { echo substr($text,0,$limit); echo '<a href="#">Read more</a>'; } else echo $text; Es neteiktu, ka baigi gudrs kods. Ko Tu darīsi, ja virkne būs UTF-8 un apcirpsi nevietā? Ļoti skaits outputs ar ķeburiem pirms "Read more" būs. Ja gribi piemēru, tad atver savu editoru, saglabā zemāk esošo kodu UTF-8 un paskaties, kas notiek. <?php $s = 'ā'; echo strlen($a); echo substr($a, 0, 1); ?> Quote Link to comment Share on other sites More sharing options...
Kavacky Posted June 15, 2009 Report Share Posted June 15, 2009 mb_internal_encoding('UTF-8'); mb_substr($text, 0, $limit); Quote Link to comment Share on other sites More sharing options...
Snaip3Rs Posted June 15, 2009 Report Share Posted June 15, 2009 Es nemāku programēt a ka vis kopā jasaliek? Quote Link to comment Share on other sites More sharing options...
J0ke Posted June 15, 2009 Report Share Posted June 15, 2009 this just made my day :D Quote Link to comment Share on other sites More sharing options...
werd Posted June 15, 2009 Report Share Posted June 15, 2009 Es nemāku programēt a ka vis kopā jasaliek? Tad rodas jautājums "Kāpēc tu mēģini izdarīt to, ko nevari? Sāc ar vienkāršākām lietām!" Quote Link to comment Share on other sites More sharing options...
wugelsons Posted June 16, 2009 Author Report Share Posted June 16, 2009 Laukā, kas ir paslēpts, izvadi atlikušo tekstu, ja tāds ir, un izvadi saiti. <script> function showHideBlock (blockid) { if (document.getElementById(blockid).style.display=='block') { document.getElementById(blockid).style.display = 'none'; } else { document.getElementById(blockid).style.display = 'block'; } } </script> <? if (strlen($text)>$limit) { echo substr($text,0,$limit); echo '<div id="block_'.$block_id.'">'.substr($text,$limit,strlen($text));.'</div>'; echo '<a href="java script:void(0)" onclick="showHideBlock("block_'.$block_id.'")">Read more</a>'; } else echo $text; ?> Tur ir jābūt kādam .js failam arī? Quote Link to comment Share on other sites More sharing options...
endrju Posted June 16, 2009 Report Share Posted June 16, 2009 Tur ir jābūt kādam .js failam arī? Nē, ar script tagu pietiek. Tikai type atribūtu pieliec. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.