Onderwerpen afkappen met ...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michiel

Michiel

28/05/2007 20:34:00
Quote Anchor link
Hoe kan je te lange zinnen zoals hier rechts bijvoorbeeld afkappen

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...
 
PHP hulp

PHP hulp

21/05/2024 17:40:34
 
Baarr

Baarr

28/05/2007 20:38:00
Quote Anchor link
Dit lijkt me de mooiste oplossing

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$length
= 16;
$text = 'De koe staat in de wei en is heel erg blij';

if(strlen($text) > $length)
{

   echo substr($text, 0, $length) . ' ...';
}

else
{
   echo $text;
}

?>
 
Bart van Asselt

Bart van Asselt

28/05/2007 20:54:00
Quote Anchor link
Wat dacht je hiervan:

$Car = max aantal karakters
$vTxt = stukje text

function CutName ($vTxt, $Car) {
while(strlen($vTxt) > $Car) {
return substr($vTxt, 0, $Car) . "...";
} return $vTxt;
}
 
Baarr

Baarr

28/05/2007 21:07:00
Quote Anchor link
Baar , Bartje, 0-0

Leesbaarheid

1-0

Code opmaak

2-0

Een while "loop" ??

3-0

:-) :-) :-)
 
Bart van Asselt

Bart van Asselt

28/05/2007 21:11:00
Quote Anchor link
Het werkt anders wel
 
Jan Koehoorn

Jan Koehoorn

28/05/2007 21:19:00
Quote Anchor link
Het probleem met oplossingen hiervoor met substr is dat een tekst ook middenin een woord afgekapt kan worden. Deze oplossing werkt iets netter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
 
Jan Koehoorn

Jan Koehoorn

28/05/2007 21:26:00
Quote Anchor link
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.
 
Baarr

Baarr

28/05/2007 21:26:00
Quote Anchor link
Volgens de vraagstelling van Michiel was dat ook de bedoeling, anders had ik wel andere code gepost ;-)
Gewijzigd op 01/01/1970 01:00:00 door Baarr
 
Jan Koehoorn

Jan Koehoorn

28/05/2007 21:28:00
Quote Anchor link
Dan is het aan de TS welke oplossing hij prefereert ;-)
 
- SanThe -

- SanThe -

28/05/2007 21:38:00
Quote Anchor link
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).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.