Tekst afkorten zonder a href maar wel met a href tonen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy marijnissen

roy marijnissen

23/07/2010 14:42:12
Quote Anchor link
Ik zit met het volgende. Ik gebruik onderstaande code om een tekst met opmaak (a href,enters etc.) uit een database te halen. Wat er nu gebeurt is dat eerst alle opmaak uit de tekst wordt gehaald, hiervan worden dan de 1e 400 tekens genomen en deze worden weergegeven. Dit werkt goed. Alleen wat ik dus wil is dat hij WEL de a href's gebruikt in de uiteindelijke tekst, maar niet gebruikt om te bereken welke 400 tekens moeten komen. Het moet namelijk zo zijn dat het 400 echte woorden zijn die hij pakt. Als hij namelijk met de opmaak 400 tekens zou pakken krijg je minder tekst te zien omdat de hele a href met url etc. ook wordt meegeteld. Ik hoop dat het een beetje duidelijk is en dat iemand me hiermee kan helpen, ik kom er niet uit :(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
if(strlen($tekst2) > 400) {
$tekst3 = strip_tags($tekst2);
$tekst4=substr($tekst3,0,400);
$tekst_echo = $tekst4;
}

?>
 
PHP hulp

PHP hulp

08/09/2024 04:14:03
 
Marco  -

marco -

23/07/2010 14:43:09
Quote Anchor link
ik vat de titel niet
 
Johan Dam

Johan Dam

23/07/2010 14:53:28
Quote Anchor link
2 dingen,

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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$tekst
= preg_replace("/href=\"(.*)\"", " $1 ", $tekst);
?>
 
Roy marijnissen

roy marijnissen

24/07/2010 01:28:47
Quote Anchor link
Ik gebruik die variable later nog in het script. Waar het dus precies om gaat :

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.
 
S Prince

S Prince

24/07/2010 02:28:47
Quote Anchor link
Dit zal niet zomaar gaan, hoe kan je bijvoorbeeld weten of de tekst die je weglaat niet de afsluit-tag bevat van de of een link?

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)
 



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.