login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Afkorten 2.0

Afkorten 2.0

Auteur: Rens - 21 augustus 2013 - 17:28 - Gekeurd door: Rens - Hits: 2253 - Aantal punten: (0 stemmen)




Dit is een script wat een zin afkapt wanneer deze te lang is.
Het script is gebasseerd op de "Afkorten functie" geschreven door Joel.

Het verschil is echter dat dit script geen woorden afbreekt maar de zin afbreekt op een spatie.
Zo blijven altijd alle woorden dus heel.

Code:
  1. <?PHP
  2. /*--------------------------------------------------------*\
  3. Auteur Rens
  4. Functie afkorten
  5.  
  6. $sText Invoer van de text
  7. $iLengte maximale lengte van de text
  8.  
  9. Return $sRet Text van x aantal tekens
  10. \*--------------------------------------------------------*/
  11.  
  12. // We declareren de functie met de juiste variabelen
  13. function afkorten ($sText, $iLengte)
  14. {
  15. // we declareren $sRet
  16. // deze retourneren we op het eind
  17. $sRet = "";
  18.  
  19. // kijken of de text ook daadwerkelijker langer is dan
  20. // het max aantal tekens opgegeven via $iLengte
  21. if(strLen($sText) > $iLengte)
  22. {
  23. // we exploden de text op een spatie
  24. $aText = explode(" ", $sText);
  25.  
  26. // we doorlopen de array die we gecreëerd hebben
  27. // dit doen we net zolang totdat de lengte van de nieuwe string ($sRet)
  28. // groter dan of gelijk aan de lengte van $iLengte is
  29. for($i = 0; $i < count($aText); $i++)
  30. {
  31. // is de lengte nog niet langer dan $iLengte?
  32. if(strLen($sRet) < $iLengte)
  33. {
  34. // kijken of $sRet al een waarde heeft i.v.m. eerste spatie
  35. // zo nee, eerste waarde toe kennen
  36. // is het wel zo, dan voegen we <spatie><woord> toe aan $sRet
  37. $sRet = empty($sRet) ? $aText[$i] : $sRet." ".$aText[$i];
  38. } else
  39. {
  40. // $sRet heeft de max lengte van $iLengte bereikt
  41. // de puntjes er achter plakken en de for loop stoppen
  42. $sRet .= "...";
  43. break;
  44. }
  45. }
  46. }
  47.  
  48. // de nieuwe waarde retourneren
  49. return $sRet;
  50. }
  51.  
  52. // $iLengte bevat de lengte van de string
  53. // Deze zetten we nu op 20
  54. $iLengte = 20;
  55. // $sText bevat de text die afgekapt moet worden
  56. $sText = "Dit is een hele lange zin die meer dan ".$iLengte." tekens bevat en dus afgekapt gaat worden.";
  57. // we roepen de functie aan en printen de nieuwe op het scherm
  58. echo afkorten($sText, $iLengte);
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (4)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.023s