Ik heb een probleem met me code ik heb al verschillende dingen geprobeerde maar ik probeer dus het volgende voor elkaar te krijgen

Dit is een hele lange text
met enters er in
maar nu probeer ik hem dus aftekorten doormiddel van puntjes ...

hoe krijg ik dit voor elkaar?

Dit is een hele lange test
met enters er in ...

dit is my while loop

while($row = mysql_fetch_assoc($result))
		{
$timestamp = time($row['toevoegdatum']);
echo("Titel: ".$row['titel']." Geplaatst op: " . date('d-m-Y', $timestamp) . "<br /><br />Bericht: "); 
echo nl2br("".$row['bericht']."<br />");

} 


ik hoop dat jullie mij kunnen helpen
Waarom geef je niet gewoon een inleiding op en de rest? Dan kun je de inleiding als "korte tekst" laten zien en voor het volledige artikel gewoon de rest eraan geplakt.

En nee, dat is niet veel werk, dat is *veel* beter dan proberen in je tekst te knippen. Dat is echt nooit optimaal.
ik zou dit toch graag voor elkaar willen krijgen dus als iemand het weet zeg het me a.u.b :D

Ik gebruik altijd de volgende code:


<?php
function cutStr($message, $len)
	{
		if(strlen($message) > $len)
			{
				return substr($message, 0, $len) . '...';
			}
		else
			{
				return $message;
			}
	}
?>
Richard van Velzen schreef op 27.01.2010 11:42
Waarom geef je niet gewoon een inleiding op en de rest? Dan kun je de inleiding als "korte tekst" laten zien en voor het volledige artikel gewoon de rest eraan geplakt.

En nee, dat is niet veel werk, dat is *veel* beter dan proberen in je tekst te knippen. Dat is echt nooit optimaal.


Hoe kom je daar in godsnaam bij?
Nu kan je afbreken op bijvoorbeeld 80 karakters, en zelfs de functie herschrijven en pas na een woord afbreken. Waarom zou je dubbel werk gaan doen als php het voor je kan doen?
Justin schreef op 27.01.2010 13:50
[quote='Richard van Velzen schreef op 27.01.2010 11:42']Waarom geef je niet gewoon een inleiding op en de rest? Dan kun je de inleiding als "korte tekst" laten zien en voor het volledige artikel gewoon de rest eraan geplakt.

En nee, dat is niet veel werk, dat is *veel* beter dan proberen in je tekst te knippen. Dat is echt nooit optimaal.


Hoe kom je daar in godsnaam bij?
Nu kan je afbreken op bijvoorbeeld 80 karakters, en zelfs de functie herschrijven en pas na een woord afbreken. Waarom zou je dubbel werk gaan doen als php het voor je kan doen?[/quote]
Oh, heerlijk, weer een betweter die m'n stemming weet te verpesten.

Je hebt blijkbaar geen idee van de werkelijke complexiteit voor het verwerken van teksten. Wil je dit echt goed doen zit je al te kijken naar een specifieke verwerking voor reguliere talen, met ons complete woordenboek erin verwerkt plus natuurlijk inflectie en irreguliere constructies enzovoorts. Anders is dit *NIET* betrouwbaar.

Dubbel werk doen? Ik weet niet? Waar haal je die onzin vandaan? PHP *KAN* dit niet voor je doen, het is geen denkend object, het kent geen taal. Dit is *veel* makkelijker als je het gewoon opdeelt in de logische structuur die je er nu automatisch uit wil halen: "inleiding" vs. "content".

Wat is het probleem van het scheiden daarvan volgens jou? Dan zal ik je duidelijk uitleggen waarom wat ik zeg met ruime voorsprong een betere optie is.
Dit heeft niks met betweterij te maken. Het gaat er puur om dat als hij nu een database heeft met lange teksten erin. Die hij wil afbreken na bijvoorbeeld 500 karakters / 20 woorden o.i.d. kan je daar gewoon een functie voor schrijven. Door bepaalde voorwaarden te stellen kan je PHP laten beoordelen waar hij de puntjes moet plaatsen. Kennelijk ontschiet jou deze mogelijkheid aangezien je het al hebt over complexiteit van teksten (?). Tekst is in defenitie gewoon een string, en PHP kan dat gewoon lezen, PHP hoeft ook geen taal te kennen want het bepaald gewoon of iets aan de voorwaarden voldoet. Als je je voorwaarden goed opgeeft kan PHP zelf beslissen waar de puntjes geplaatst moeten worden..

e hebt blijkbaar geen idee van de werkelijke complexiteit voor het verwerken van teksten.

Ik weet niet wie je denkt dat je voor je hebt, maar ik werk al 5 jaar in de communicatiebranche met professionele tekstverwerkers, waaronder online tekstverwerkers dus ik denk dat ik wel weet hoe de vork in de steel steekt...

Het is in mijn ogen dubbel werk omdat je er een extra handeling voor moet verrichten + de database extra aan moet spreken iets te posten en bij elke request een extra veld moet ophalen. Daarnaast moet je ook zelf bepalen waar je de inleiding op laat houden, waarmee je layout kan verschillen met hoe je het voor ogen had.

Waarom iets moeilijker maken dan dat het is. Als je hier (lees: phphulp) in de tutorials zoekt vind je een functie waarmee PHP afbreekt na een aantal opgegeven woorden. Met een uitbreiding op die functie kan die dan bijvoorbeeld zoeken naar de eerst volgende punt achter een woord: dan plaatst hij er 2 puntjes achter en een link met bijvoorbeeld: lees meer =>. Dan breekt hij netjes aan het einde van een zin af en zal je lay-out niet drastisch veranderen.
@ Justin mee eens, het is dubbel werk als je het nog een keer moet gaan doen. Nou versta ik onder nog een keer moet gaan doen, een verkorte versie van je tekst schrijven. Er zijn zat functies voor. Zelfs hele classes, die rekening houden met html, woorden en spaties etc.. Dus waarom zou je een 2e tekst gaan schrijven, je hebt immers alleen het eerste deel nodig van een al geschreven tekst?
Oh mijn god, het lijkt wel een kleuterschool hier, ik ga er niet eens op in want je hebt blijkbaar geen enkel besef waar je het over hebt.

Misschien moet je het kleine boze boek maar eens gaan lezen, dan snap je wel wat ik bedoel.

Edit: en na je post nog eens gelezen te hebben besef ik me pas dat jij echt geen ervaren developer bent. Als je al denkt dat zoiets "zwaarder" is, echt, je hebt geen idee. Je haalt helemaal niet meerdere velden op, je concatteneert direct bij het ophalen, niks geen last van. Juist het proberen te knippen in PHP waardoor je een compleet verwoeste tekst krijgt die grammaticaal totaal niet meer klopt zal meer resources nemen dan nodig.

P.s.: jij hebt blijkbaar ook geen idee tegen wie jij het hebt... :')

Reageren