Archief - PHP: afkappen van een te lange titel

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sprits

Legacy Member
ik weet ni hoe ik da moet zoeke op google dus vraag ik het hier ffkes :p

5 titels van nieuwsitems worde uit de database gehaald en gedisplayed. nu als de titel te lang is, moet da zoiets gelijk dees worde: New website from R...
Tzijn die laatste 3 puntjes die da er achter moete kome en de titel die moet worde afgekapt.

iemand die een linkje heeft met een scriptje of tutorial?

Legendary d.C.

Legacy Member
je kan dat gemakkelijk met php

Code:
<?php
$titel = substr('Hier komt de titel', 0, 20);
$titel = $titel ."...";
echo($titel);
?>

dat geeft de eerste 20 letters van de titel en de drie ... er achter

Tyfius

Legacy Member
Legendary d.C. zei:
je kan dat gemakkelijk met php

Code:
<?php
$titel = substr('Hier komt de titel', 0, 20);
$titel = $titel ."...";
echo($titel);
?>

dat geeft de eerste 20 letters van de titel en de drie ... er achter
Even vermelden dat het misschien aangeraden is om eerst te kijken hoe groot de lengte van de titel is. Als die kleiner is dan 20 hoef je dit niet uit te voeren.

Sprits

Legacy Member
thnx... juist wa ik nodig had :)

*edit*
ja, tgeen da tyfius zegt is ook waar :p

als de titel kleiner is dan het aantal letters, dan moet deze volledig worde weergegeve

toru

Legacy Member
PHP:
<?php
$aantal = strlen($INPUT_TITEL);

if($aantal > 20) {
$OUTPUT_TITEL = substr($INPUT_TITEL, 0, 20) ."...";
}
?>



ofzo? :)

Radiance

Legacy Member
Zoiets ja, maar ik zou het zelf gewoon achterwegen laten, substr() is zo'n lowlevel functie dat het er echt niet op zal aankomen als je dat es een keer teveel laat lopen. De strlen() bereken zal waarschijnlijk al even veel CPU tijd verbruikeN;

toru

Legacy Member
Hoe zou jij het dan laten doen ? Ik weet niet echt een andere manier (maar mijn php kennis is nu ook niet perfect)

Radiance

Legacy Member
PHP:
$titel = substr($titel, 0, 20);

Gewoon zo, zonder meer.

welp

Legacy Member
...
Radiance, dan ziet iemand wel niet meteen dat het niet de volledige titel is. Dat is net de functie van "..."

Maar als het nu een titel is van "Ik ben klein" wat minder is dan 20 chars, dan wordt deze ook "Ik ben klein..." terwijl dat niet nodig is.

Legendary d.C.

Legacy Member
welp zei:
...
Radiance, dan ziet iemand wel niet meteen dat het niet de volledige titel is. Dat is net de functie van "..."

Maar als het nu een titel is van "Ik ben klein" wat minder is dan 20 chars, dan wordt deze ook "Ik ben klein..." terwijl dat niet nodig is.

kijk eerst of de lengte van de string groter is dan 20);

Code:
if (strlen($titel) > 20){
$titel = substr('Hier komt de titel', 0, 20);
$titel = $titel ."...";
}

echo($titel);

RpR

Legacy Member
Allemaal goed en wel maar nen titel van 20xw is meestal niet zo breed als 20x i

Legendary d.C.

Legacy Member
RpR zei:
Allemaal goed en wel maar nen titel van 20xw is meestal niet zo breed als 20x i


tis een voorbeeldje hé, als de threadstarter de lengte wil aanpassen zal hij dat wel kunnen zeker?

welp

Legacy Member
Legendary d.C. zei:
kijk eerst of de lengte van de string groter is dan 20);

Code:
if (strlen($titel) > 20){
$titel = substr('Hier komt de titel', 0, 20);
$titel = $titel ."...";
}

echo($titel);
Ja dat weet ik ook wel, ik reageerde op Radiance...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan