Onderwerpen afkappen met ...
Voorbeeld De koe staat in de wei en is heel erg blij
wordt De koe staat in de wei en is h...
Dat je vanaf een bepaald aantal tekens afkapt, bij gebrek aan een betere omschrijving...
$Car = max aantal karakters
$vTxt = stukje text
function CutName ($vTxt, $Car) {
while(strlen($vTxt) > $Car) {
return substr($vTxt, 0, $Car) . "...";
} return $vTxt;
}
Leesbaarheid
1-0
Code opmaak
2-0
Een while "loop" ??
3-0
:-) :-) :-)
Het werkt anders wel
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$str = 'Deze tekst is zeker langer dan vijftig tekens. De functie zal hem netjes in moeten korten zonder een woord af te kappen.';
function short_text ($txt, $max) {
if (strlen ($txt) > $max) {
$txt = substr ($txt, 0, $max);
$txt = substr ($txt, 0, strrpos ($txt, ' '));
$txt .= ' ...';
}
return $txt;
}
echo short_text ($str, 50);
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$str = 'Deze tekst is zeker langer dan vijftig tekens. De functie zal hem netjes in moeten korten zonder een woord af te kappen.';
function short_text ($txt, $max) {
if (strlen ($txt) > $max) {
$txt = substr ($txt, 0, $max);
$txt = substr ($txt, 0, strrpos ($txt, ' '));
$txt .= ' ...';
}
return $txt;
}
echo short_text ($str, 50);
?>
bartjuh schreef op 28.05.2007 21:11:
Het werkt anders wel
Klopt, maar het is een beetje onzin om een return in een while te zetten. Meteen de eerste keer retourneert de functie dan zijn waarde al. Een simpele if zou genoeg zijn.
Gewijzigd op 01/01/1970 01:00:00 door Baarr
Dan is het aan de TS welke oplossing hij prefereert ;-)
In het voorbeeld dat de TS heeft gesteld wordt er midden in een woord afgebroken. Dus ik stem op Baarr. (Die van Jan is té mooi).