login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Aantal tekens controlleren met actie

Offline X3ore - 05/01/2007 14:51 (laatste wijziging 05/01/2007 14:51)
Avatar van X3oreHTML interesse Hoi,

Ik wil controlleren hoeveel tekens een bepaalde variable heeft.
Is deze meer als 1000 moet er een nieuw block worden weergegeven, maar als ik deze code plaats word er gewoon niets weergegeven, en zonder geeft hij de nieuwsberichten wel weer.

Is hier dan iets mis mee?
  1. <? $aantaltekens = strlen($list->bericht);
  2. if($aantaltekens > 1000){
  3. $tpl->newBlock("leesmeer");
  4. }else{
  5. }?>


Hij zou deze regel dus eigenlijk gewoon tussen de code moeten laten tonen:

  1. <!-- START BLOCK : leesmeer --><a href="{site_url}news/readnews.php?nid={id}&comments=yes" class="site_url2">Lees meer..</a> | <!-- END BLOCK : leesmeer -->

9 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 05/01/2007 14:54
Avatar van Kr4nKz1n Onbekend Ik gebruik geen tpl maar dit ziet er normaal uit. Maar waarom onnodig variabelen maken?

  1. <?
  2. if(strlen($list->bericht) > 1000)
  3. $tpl->newBlock("leesmeer");
  4. ?>
Offline Simon - 05/01/2007 15:44
Avatar van Simon PHP expert volgens mij moet er altijd een [enter] naar de start
  1. <!-- START BLOCK : leesmeer -->
  2. <a href="{site_url}news/readnews.php?nid={id}&comments=yes" class="site_url2">Lees meer..</a> |
  3. <!-- END BLOCK : leesmeer -->
zo dus
Offline X3ore - 05/01/2007 16:18 (laatste wijziging 05/01/2007 16:19)
Avatar van X3ore HTML interesse Hoi, ja heb het gevonden  

Maar nu zit ik met dit probleem.

Als er meer als 1000 tekens zijn moet het bericht worden afgekort maar $bericht word alleen weergegeven nu als er minder als 1000 tekens zijn. 

  1. <?
  2. if(strlen($list2->bericht) > 1000){
  3. $bericht = substr($bericht,0,strpos($bericht," ",1000))."...";
  4. $tpl->newBlock("nieuws_meerlezen");
  5.  
  6. $tpl->assign(array("auteur" => controleOutput($auteur),
  7. "bericht" => $bericht,
  8. "id" => $list2->id,
  9. ));
  10.  
  11. }else{
  12. //Block niet weergeven
  13. $tpl->assign("bericht", $bericht);
  14. }?>
Offline Kr4nKz1n - 05/01/2007 16:20 (laatste wijziging 05/01/2007 16:24)
Avatar van Kr4nKz1n Onbekend
  1. <?
  2. if(strlen($list2->bericht) > 1000){
  3. $bericht = substr($bericht,0,strpos($bericht," ",1000))."...";
  4. $tpl->newBlock("nieuws_meerlezen");
  5.  
  6. $tpl->assign(array("auteur" => controleOutput($auteur),
  7. "bericht" => $bericht,
  8. "id" => $list2->id,
  9. ));
  10.  
  11. }else{
  12. //Block niet weergeven
  13. $tpl->assign("bericht", $bericht);
  14. }?>


Dan moet je het bericht ook in de if-statement zetten.

Ik snap je niet, want ik zie dat je wel redelijk goed kan omgaan met PHP, dus dan zou de oplossing die in m`n hoofd zit voor jou een eitje moeten zijn.

Vertel eens wat er moet gebeuren.

Indien het bericht langer is dan 1000 tekens afbreken?
En anders gwn normaal laten zien ?

  1. <?
  2. if(strlen($list2->bericht) > 1000){
  3. $tpl->newBlock("nieuws_meerlezen");
  4.  
  5. $tpl->assign(array("auteur" => controleOutput($auteur),
  6. "bericht" => substr($bericht,0,1000)."...",
  7. "id" => $list2->id,
  8. ));
  9.  
  10. }else{
  11. //Block niet weergeven
  12. $tpl->assign(array("auteur" => controleOutput($auteur),
  13. "bericht" => $list2->bericht,
  14. "id" => $list2->id,
  15. ));
  16. }?>
Offline X3ore - 05/01/2007 16:23
Avatar van X3ore HTML interesse Ik d8 dat je zo bedoelde maar werkt niet.

  1. <?
  2. if(strlen($list2->bericht) > 1000){
  3. $bericht = ubbvervangen($list2->bericht);
  4. $bericht = smiliesvervangen($bericht);
  5. $bericht = substr($bericht,0,strpos($bericht," ",1000))."...";
  6. $tpl->newBlock("nieuws_meerlezen");
  7.  
  8. $tpl->assign(array("auteur" => controleOutput($auteur),
  9. "bericht" => $bericht,
  10. "id" => $list2->id,
  11. ));
  12.  
  13. }else{
  14. //Block niet weergeven
  15. $tpl->assign("bericht", $bericht);
  16. }?>
Offline Kr4nKz1n - 05/01/2007 16:26
Avatar van Kr4nKz1n Onbekend
  1. <?
  2. if(strlen($list2->bericht) > 1000)
  3. {
  4. $tpl->newBlock("nieuws_meerlezen");
  5.  
  6. $tpl->assign(
  7. array("auteur" => controleOutput($auteur),
  8. "bericht" => substr(smiliesvervangen(ubbvervangen($list2->bericht)),0,1000),
  9. "id" => $list2->id,
  10. )
  11. );
  12.  
  13. }
  14. else
  15. {
  16. //Block niet weergeven
  17. $tpl->assign(
  18. array("auteur" => controleOutput($auteur),
  19. "bericht" => smiliesvervangen(ubbvervangen($list2->bericht)),
  20. "id" => $list2->id,
  21. )
  22. );
  23. }
  24. ?>

En dit?
Offline X3ore - 05/01/2007 16:32
Avatar van X3ore HTML interesse Nope, ja ik weet wel hoe ik het moet doen, maar ik weet niet of je zelf met templatepower werkt maar soms doet ie vrij lastig met die blocks. Want als ik nu $tpl->newBlock("nieuws_meerlezen"); weglaat gaat alles perfect, maar met die block ertussen geeft hij het bericht zelf nog altijd niet weer 
Offline Kr4nKz1n - 05/01/2007 16:33
Avatar van Kr4nKz1n Onbekend Ik werk niet met tpl nee. Dan is er iets mis 
Geen idee wat sorry...
Offline X3ore - 05/01/2007 16:46 (laatste wijziging 05/01/2007 16:46)
Avatar van X3ore HTML interesse Geen probleem   bedankt voor de snelle reacties iig.
Maar na nog wat zoeken heb ik het opgelost gekregen.

Mag toe  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.275s