Toon posts:

[php] substr word-sensitive

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

Verwijderd

Topicstarter
ik wil graag mijn sting na bijvoorbeeld 5 woorden afbreken.

Ik zoek dus eigenlijk een combinatie van str_word_count en substr. Weet iemand hier een functie voor of moet ik die zelf schrijven. ik ben al een tijdje aan het zoeken op php.net maar dat wil niet echt schorten..

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 13:27
Exploden op een spatie. Door de array heen loopen en dan tot het 5e item aan elkaar plakken.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
$pos = 0;

For ($i=0;$i<5;$i++)
{

  $pos = strpos(" ", $string, $pos+1);

}

$stukkie = substr($string, 0, $pos);


En dan finetunen?

[ Voor 14% gewijzigd door Osiris op 02-06-2004 16:10 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 13:27
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?PHP
//zoiets?
$str='hallo ik ben peitje en nog wat woorden';
$strexp=explode(' ', $str);
$strcount=count($strexp);
$strres='';
for($i=0; ($i<$strcount AND $i<5); $i++){
  $strres.=' '.$strexp[$i];
}
echo $strres;
?>

[ Voor 17% gewijzigd door djluc op 02-06-2004 16:20 ]


  • freaky
  • Registratie: September 2000
  • Laatst online: 18-05 12:54
djluc, nou hebbie leading space :D

Verwijderd

Waar wil je het precies voor gebruiken?
Misschien zijn er namelijk andere oplossingen, maar je omschrijving vind ik nogal vaag eigenlijk..

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

-freaky- schreef op 02 juni 2004 @ 16:22:
djluc, nou hebbie leading space :D
Trim is your friend. B)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Bijna hetzelfde als hierboven, maar je kunt ook exploden en dan weer de 1e 5 pieces imploden en dan heb je de bedoelde string :)

offtopic:
but cutting a sting is like breaking a broken errmm.. :+

Verwijderd

Je kunt ook iets doen als:

PHP:
1
2
3
4
5
6
7
8
9
// zin die afgebroken moet worden
$zin = "Dit is een zin met daarin heel veel woorden.";
// reguliere expressie
$regex = "/([a-zA-Z0-9]+[ ]+[a-zA-Z0-9]+[ ]+[a-zA-Z0-9]+[ ]+[a-zA-Z0-9]+[ ]+[a-zA-Z0-9]+)/i";
// expressie uitvoeren op zin en in $result stoppen
preg_match($regex, $zin, $result);

// resultaat weergeven
echo "<b>De eerste vijf woorden:</b><br>" . $result[0];

[ Voor 46% gewijzigd door Verwijderd op 02-06-2004 16:32 ]


Verwijderd

Ik heb thuis iets efficienters liggen dan deze oplossingen, want je gaat toch geen explode doen, om dan de string weer op te bouwen en dan ook nog eens een trim te doen :S

Nou goed, als ik er nog aan dnek komt er een goed functie hier...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Scriptrequests zijn helaas niet toegestaan, wij schrijven onze code zelf (zoals je aan de reacties wel kunt lezen :P)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.