login  Naam:   Wachtwoord: 
Registreer je!
 Forum

smarty array

Offline spaceflippie - 14/02/2009 12:38
Avatar van spaceflippieNieuw lid Beste,

normaal stuur ik mijn array door op deze manier:
  1. while ($x = mysql_fetch_array($sql)) {
  2. $array[] = $x;
  3. }
  4. $smarty->assign("array", $array);


Dit werkt, maar nu wil ik op deze array een functie gebruiken om de text te verkorten, echter dit doet niets.

  1. while($x = mysql_fetch_array($result)) {
  2. $array[] = textlimit($x, 20, "...");
  3. }
  4. $smarty->assign("array", $array);


Weet iemand dus hoe ik een functie kan laten werken op deze array?

Alvast bedankt

3 antwoorden

Gesponsorde links
Offline Ontani - 14/02/2009 12:40
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Zonder de functie textlimit zijn we niets.
Offline spaceflippie - 14/02/2009 16:42
Avatar van spaceflippie Nieuw lid de functie:
  1. function textlimit($string, $length, $replacer) {
  2. if(strlen($string) > $length)
  3. return (preg_match('/^(.*)\W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer;
  4.  
  5. return $string;
  6. }
Offline Ibrahim - 14/02/2009 17:07 (laatste wijziging 14/02/2009 17:08)
Avatar van Ibrahim PHP expert Ja, dat is toch logisch. Je geeft als parameter een array terwijl je functie een string verwacht.

Het is textlimit($x['af-te-korten-index']....);

Trouwens, je doet jezelf heel goed als je normale beschrijvende variabelen gebruikt in plaats van $x. Ook zou je wat netter kunnen scripten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.206s