login  Naam:   Wachtwoord: 
Registreer je!
 Forum

functie

Offline smoos - 11/10/2005 19:02
Avatar van smoosPHP gevorderde ik ben nog niet zo heel bekend met echt php scripten meer alleen met de basis dingen. dus ik dacht laat ik eens een functie proberen te sgrijven, een soort gelijke functie bestaat echter al, alleen weerhoude het mij niet dit proberen te maken. het is een vrij simpele functie maar tog een start om hier dieper op in proberen te gaan. ik wil graag dit oeveningetje laten zien en van jullie wat benodigde verbeteringen te horen krijgen of manieren hoe jullie dit zouden hebben gedaan. het id van deze functie was om woorden die langer dan een ingegeven getal is om die stuk te knippen (dit is om een fout in je lay out te voorkomen als je woorden langer zijn dan de breedte van je tekstvlak (nog duidelijk ^^^^)

hier is het:
  1. <?php
  2.  
  3. function mooswrap($var, $max)
  4. {
  5. $var = explode(" ", $var);
  6. foreach($var as $key => $value)
  7. {
  8. $aantal = strlen($var[$key]);
  9. if($aantal > $max)
  10. {
  11. $mi = 0;
  12. $ma = 0;
  13. $var2 = "";
  14. while($aantal > $ma)
  15. {
  16. $ma = $ma + $max;
  17. $var2 .= substr($var[$key], $mi, $ma) ." ";
  18. $mi = $mi + $max;
  19. }
  20. $var[$key] = $var2;
  21. }
  22. }
  23. return $var;
  24. }
  25.  
  26. $a = mooswrap("ik weet nix abcdefghijklmnopqrstuvwxyz hgrerge", 20);
  27. print_r($a);
  28. ?>


grtz

4 antwoorden

Gesponsorde links
Offline Thomas - 11/10/2005 19:09
Avatar van Thomas Moderator Ziet er wel aardig uit, maar ik zou een tekst ook als text retourneren denk ik.

En in plaats van die while-lus kun je ook chunk_split of wordwrap gebruiken, maar alles bij elkaar een best aardige functie.

Ik heb zelf ook eens een wordwrap-functie gemaakt, omdat ik met de standaard wordwrap-functie niet goed uit de voeten kon.
Offline smoos - 11/10/2005 19:14
Avatar van smoos PHP gevorderde
Citaat:
of wordwrap gebruiken

maar het was de bedoeling om een bestaande functie zoals wordwrap niet te gebruiken dat werd te simpel dan 
Offline Thomas - 11/10/2005 19:20 (laatste wijziging 11/10/2005 19:22)
Avatar van Thomas Moderator Mja, maar je moet je wel aanleren van reeds geschreven functies gebruik te maken... Die dingen hebben blijkbaar voldoende bestaansrecht, dus waarom zou je ze niet gebruiken?

Zoals ik al zei is wordwrap ontoereikend. Wordwrap heeft namelijk de neiging strings altijd af te kappen na zoveel karakters, ongeacht of een stuk tekst ter lengte van X karakters netjes over meerdere regels wrapped of niet, en dat wil je juist niet (en dat zal mede de reden zijn geweest dat jij, net als ik, je eigen functie daarvoor hebt geschreven, niet?).

PS: Af en toe het wiel opnieuw uitvinden kan overigens geen kwaad hoor .
Offline smoos - 11/10/2005 20:14 (laatste wijziging 11/10/2005 20:14)
Avatar van smoos PHP gevorderde hehe je hebt gelijk over die functie want daar had ik idd last van, zelf heb ik deze functie niet gesgreven om die reden maar meer om te testen of ik nou zoiets simpels (eigenlijk best simpel) kan maken en zo steeds meer gewend te raken met functies (voornamelijk voor dingen waarvoor geen standaard functie bestaat )
btw bedankt voor je commentaaar zeer nuttig 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s