Tekst afkorten zonder a href maar wel met a href tonen
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
if(strlen($tekst2) > 400) {
$tekst3 = strip_tags($tekst2);
$tekst4=substr($tekst3,0,400);
$tekst_echo = $tekst4;
}
?>
if(strlen($tekst2) > 400) {
$tekst3 = strip_tags($tekst2);
$tekst4=substr($tekst3,0,400);
$tekst_echo = $tekst4;
}
?>
ik vat de titel niet
1. Waarom maak je steeds een nieuwe variabele aan? Ga je $tekst2, $tekst3 en $tekst4 nog gebruiken? Zo nee, dan is dit geheugen vervuiling.
2. Je wilt dus dat je in $tekst_echo de eerste 400 tekens krijgt zonder enige opmaak maar met de href? Waarom wil je de locatie van een link wel dan?
Je kan iets met preg_replace doen, ik doe het even uit mn hoofd maar dat zou zoiets zijn denk ik.
In de database staat een tekst met <a href> etc. erin. Als ik deze nu ga uitlezen en berekenen hoeveel tekens dit zijn neem hij ook de code van de a href mee. Als een link dus erg lang is kan dit al makkelijk 200 tekens opnemen en daardoor is de tekst maar erg kort. Dit heb ik nu opgelost door de a href eruit te halen en dan te tellen en af te korten. Alleen nu krijg ik in de uiteindelijk tekst dus geen links meer. Ik wil dus wel mijn manier van berekenen gebruiken maar ook de uiteindelijke tekst met links.
Ik hoop dat het zo iets duidelijker is.
Wat je eventueel kan doen is strip_tags dan 400 karakters tellen en de karakters 400 tot 420 gebruiken om een strstr() uit te voeren op de originele tekst. Dan heb je effectief 400 karakters tekst, maar je weet nog steeds niet of er een afsluit-tag ontbreekt.
Ik zou 400 karakters van de strip_tags versie weergeven zonder de links maar als je een hover-functie de volledige tekst met links zichtbaar maken (jquery heeft enkele leuke eenvoudige toepassingen)