anoniem Geplaatst: 3 november 2004 Delen Geplaatst: 3 november 2004 Onderstaand script geeft foutloos een resultaat in de vorm van "T..." en "E..." <?php function strip($text){ if (strlen($text) > 15){ print substr(stripslashes($text), 0,15). "..."; }else{ print stripslashes($text); } } strip($text); while (list($id, $titel) = mysql_fetch_row($bla)){ echo "<a href=\"". $_SERVER["PHP_SELF"] . "?id=$id" . "\">", strip($titel["titel"]), "...</a><br>"; }?> Alleen het eerste teken wordt getoond, gevolgd door drie puntjes. Wat en hoe moet ik dit script aanpassen zodat de eerste 15 tekens worden getoond? Quote Link naar reactie
anoniem Geplaatst: 3 november 2004 Auteur Delen Geplaatst: 3 november 2004 Ik kan zo 1-2-3 de fout niet echt lokaliseren. Ik lees er over heen (maar ik kijk ook met een scheef oog naar voetbal ;)) Wat me wel meteen opvalt is dat je de functie de tekst zelf laat printen. Ik zou er zelf voor kiezen om een waarde te retourneren. Dat maakt de functie een stuk beter herbruikbaar. Daarnaast echo je in de [i:7986cd14a8]while [/i:7986cd14a8] weer wel de functie; daar zou je dus zeker een functie verwachten die iets retourneert. In dat stukje code heb je overigens ook in 1 regel 3 verschillende wijzes gebruikt om variabelen en een string te combineren en naar het scherm te schrijven: concatenatie via de punt, via de komma meerdere parameters doorsturen naar [i:7986cd14a8]echo [/i:7986cd14a8]en de variabele invoegen in een double-quoted string. Ik raad je aan één bepaalde stijl te kiezen en deze ook consequent door te voeren; zelf heb ik een voorkeur voor de komma's. Ik zou er dus iets als het volgende van maken (ongetest): [code:1:7986cd14a8] <?php function strip($text) { $text = stripslashes($text); if (strlen($text) > 15) { $text = substr($text, 0, 15) . "..."; } return $text; } echo strip($text); while (list($id, $titel) = mysql_fetch_row($bla)) { echo "<a href=\"", $_SERVER["PHP_SELF"], "?id=", $id, "\">", strip($titel["titel"]), "...</a><br />"; } ?>[/code:1:7986cd14a8] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen