Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een maximale lengte geven aan een resultaat uit een php code? zie voorbeeld

<?php echo $this->getTitle() ?>

Ik wil dus met een code de een maximale lengte geven aan de title. Maximaal 69 characters. Hoe kan ik dit met php regelen?

Verwijderde gebruiker
13 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Antwoorden (3)

<?=substr($this->getTitle(), 0, 69)?>

Toegevoegd na 2 minuten:
De functie substr is een functie waarmee je een deel van een string kan krijgen.

De syntax is:
substr ( string $string , int $start [, int $length ] )
dus, met 'substr($this->getTitle(), 0, 69)' haal je de eerste 69 karakters uit $this->getTitle().

Toegevoegd na 11 minuten:
Als het bovenstaande niet werkt, probeer dan:

<?php echo substr($this->getTitle(), 0, 69); ?>

Toegevoegd na 28 minuten:
Voor het gemak heb ik nog even een voorbeeldje online gezet:

http://www.ikore.nl/gv/maximale-lengte-resultaat-php-code.php?title=DitIsEenTitle

'DitIsEenTitle' aan het einde van de URL, kun je veranderen voor wat je maar wil. Wanneer het langer is dan 69 karakters zul je zien dat de titel afgekapt word op 69 karakters.
Verwijderde gebruiker
13 jaar geleden
Zo ongeveer:
$titel=$this->getTitle();
if (strlen($titel > 69) {
$titel=substr($titel,0,69);
}
echo $titel;
?>

Met "strlen" haal de lengte van de string op, dan kijk je of die langer is dan 69 (de "if") Als ie langer is dan 69, dan knip je met "substr" de eerste 69 letters eruit. Dat is bewaard in de variabele $titel. Met echo laat je die variabele zien.

De "{" en "}" zijn in dit voorbeeld niet strikt noodzakelijk, want als er aan test is voldaan wordt er maar een opdracht uitgevoerd. Als er meer opdrachten moeten worden uitgevoerd, zijn de "{" en "}" wel noodzakelijk. Het is daarom verstandig om altijd de "{" en "}" te gebruiken.

Alle documentatie van PHP vindt je overigens hier: http://www.php.net/manual/en/index.php
Verwijderde gebruiker
13 jaar geleden
Je kunt ook gewoon een functie maken, dan kun je hem vaker gebruiken..

$title = "Verzin maar iets dergelijks tot je aan een maximaal aantal teken komt, hij zal worden afgekapt en er zullen twee punten verschijnen na de laatste letter.";

function text_chop($text, $length) {
if(strlen($text) > $length) {
$text = substr($text, 0, $length)."..";
}
return $text;
}
?>

Verwijderde gebruiker
13 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing