[PHP] Chopper functie
Hoi,
Ik ben eigenlijk op zoek naar een chopper-functie (tekst inkorten) die dat doet op basis van letters, en niet op basis van de woorden.
Als voorbeeld, bijvoorbeeld de tekst: "Komende dinsdag is het Oudejaarsdag".
Met onderstaande functie, zou deze tekst worden ingekort tot "Komende dinsdag (..)", maar ik zoek een functie die dat afkort tot "Komende di(..)". Weet iemand hoe dat mogelijk is?
Ik ben eigenlijk op zoek naar een chopper-functie (tekst inkorten) die dat doet op basis van letters, en niet op basis van de woorden.
Als voorbeeld, bijvoorbeeld de tekst: "Komende dinsdag is het Oudejaarsdag".
Met onderstaande functie, zou deze tekst worden ingekort tot "Komende dinsdag (..)", maar ik zoek een functie die dat afkort tot "Komende di(..)". Weet iemand hoe dat mogelijk is?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function chopper($text, $maxchar, $end='(..)') {
if (strlen($text) > $maxchar || $text == '') {
$words = preg_split('/\s/', $text);
$output = '';
$i = 0;
while (1) {
$length = strlen($output)+strlen($words[$i]);
if ($length > $maxchar) {
break;
}
else {
$output .= " " . $words[$i];
++$i;
}
}
$output .= $end;
}
else {
$output = $text;
}
return $output;
}
if (strlen($text) > $maxchar || $text == '') {
$words = preg_split('/\s/', $text);
$output = '';
$i = 0;
while (1) {
$length = strlen($output)+strlen($words[$i]);
if ($length > $maxchar) {
break;
}
else {
$output .= " " . $words[$i];
++$i;
}
}
$output .= $end;
}
else {
$output = $text;
}
return $output;
}
Zoiets, of is dat te makkelijk gedacht?
Toevoeging op 29/12/2019 13:54:54:
Via via op de interwebs kwam ik dit tegen :
http://jsfiddle.net/FUrLG/
En
https://dotdotdot.frebsite.nl/
Code (php)
Toevoeging op 29/12/2019 13:54:54:
Via via op de interwebs kwam ik dit tegen :
http://jsfiddle.net/FUrLG/
En
https://dotdotdot.frebsite.nl/
Ik heb een oplossing gemaakt op basis van css. mogelijks ook bruikbaar voor jou.
De div waar alles instaat krijgt deze opmaak
.mini {
height:20px;
overflow:hidden;
}
.mini:hover {
height:auto;
}
Onhover verschuift de tekst natuurlijk maar dat is de keuze.
een beetje zoals A S zijn oplossing maar puur css
De div waar alles instaat krijgt deze opmaak
.mini {
height:20px;
overflow:hidden;
}
.mini:hover {
height:auto;
}
Onhover verschuift de tekst natuurlijk maar dat is de keuze.
een beetje zoals A S zijn oplossing maar puur css
Of gebruik de ellepsis-waarde bij de text-overflow property.




