De 20 eerste woorden

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

  • RvdMeer
  • Registratie: September 2003
  • Laatst online: 31-07 13:19
Een beetje PHP/SQL programmeur hoeft niet veel te doen om een news systeem te maken. Mijn vraag is alleen hoe ik de eerste 20 woorden van een newspost laat zien gevolgd met 3 puntjes. Ook dit zal hoogst waarschijnlijk niet moeilijk zijn maar ik kom er even niet uit.

code:
1
$newsText .= stripslashes($row['body']);


en toen?

[ Voor 3% gewijzigd door RvdMeer op 28-09-2003 10:50 ]


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Kijk eens naar de functie Substr() ;)
Dit was met een beetje zoeken toch ook zelf wel te vinden of niet?

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • RvdMeer
  • Registratie: September 2003
  • Laatst online: 31-07 13:19
Aaah... mja.. overal gezocht behalve daar :)

Verwijderd

als je per sé op een aantal woorden wilt afkappen, kan je split gebruiken van PHP. http://nl3.php.net/manual/en/function.split.php. en dan splitten op spatie.

  • RvdMeer
  • Registratie: September 2003
  • Laatst online: 31-07 13:19
Beide heb ik juist geprobeerd. Met substr() krijg ik dat woorden ook halverwege worden onderbroken en de function.split geeft een output: Array...

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Een explode doen op spaties :) En dan met een for loop de eerste 20 woorden uit die array erin zetten :)

[ Voor 56% gewijzigd door supakeen op 28-09-2003 11:15 ]


  • RvdMeer
  • Registratie: September 2003
  • Laatst online: 31-07 13:19
ke?
example?

:)

[ Voor 54% gewijzigd door RvdMeer op 28-09-2003 11:18 ]


  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 20-08 15:43
Een example van explode? Ga naar php.net, daar staat 't mooi uitgelegd. Je krijgt dan een array terug en van die array met woorden geef je de eerste 20 weer.

http://nl3.php.net/manual/en/function.explode.php als je nog steeds te lui bent om te zoeken...

[ Voor 26% gewijzigd door coubertin119 op 28-09-2003 11:25 ]

Skat! Skat! Skat!


Verwijderd

Zoals al eerder gezegd:

split de string op spaties - > je krijg een array
append alle array items tot en met array[19] aan een nieuwe string
append 3 puntjes

  • RvdMeer
  • Registratie: September 2003
  • Laatst online: 31-07 13:19
Het duurt even maar dan heb je ook wat :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
$split_search = array();
$split_search = split (" ", $row['body']);
$aantal = count($split_search);

if ($aantal > 50)
 {
   $aantal = 50;
 }
   for($i = 0; $i < $aantal; $i++)
 {
  $newsText .= " " . $split_search[$i];
}

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
PHP:
1
2
3
4
5
$Array = explode(" ",$text,20);

foreach($Array as $i){
echo $i;
}

[ Voor 9% gewijzigd door PrisonerOfPain op 28-09-2003 12:44 ]


Verwijderd

of gewoon dus implode(" ",explode(" ",$text,20));

dat scheelt die loop

Verwijderd

Je moet wel even het laatste element van de array weggooien ;)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Genoeg ideeen lijkt me zo... daar had je zelf ook wel op kunnen komen..

Verder staat het ook nog eens in het verkeerde forum... PHP hoort in P&W.. niet in W&G

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Genoeg antwoorden gegeven lijkt mij zo, als je volgende keer een vraag hebt over PHP kijk dan eerst op hun website (geweldige site, realiseer me dat het lastig is om te zoeken als je niet weet waar je op moet zoeken). En dit soort vragen horen eigenlijk in Programming & Webscripting, maar dan weet je dat voor de volgende keer :).
Pagina: 1

Dit topic is gesloten.