Strona 1 z 1

Jak pobrać z łańcucha n wyrazów? (php)

: sob lip 02, 2005 10:01 am
autor: zephyr7
funkcja substr($lancuch, 0, 10) - pobiera z lancucha pierwszych 11 znaków.

Czy jest jakaś funkcja, która pobiera całe wyrazy, np. pierwsze 10 wyrazów?

To musi być banalnie proste, ale nie znam zbyt dobrze tego typu instrukcji w php.. Jeśli ktoś mógłby pomóc i napisać, jak to zrobić ;)

Re: Jak pobrać z łańcucha n wyrazów? (php)

: sob lip 02, 2005 10:14 am
autor: viraptor
A masz golfiarskie podejście :)
[php]<?php
function word_limit($string, $length = 50, $ellipsis = "...") {
return (count($words = explode(' ', $string)) > $length) ? implode(' ', array_slice($words, 0, $length)) . $ellipsis : $string;
}
?>[/php]
$string to string, $length to ilość wyrazów, $ellipsis to dopełnienie stringa, jeśli w oryginale jest więcej wyrazów. Funkcja wzięta z http://www.php.net/manual/en/function.explode.php

dzienx :) trochę niepotrzebnie zagmatwane...

: sob lip 02, 2005 10:22 am
autor: zephyr7
Nie da się prościej, bez funkcji?

Re: dzienx :) trochę niepotrzebnie zagmatwane...

: sob lip 02, 2005 10:25 am
autor: FanFataL
zephyr7 pisze:Nie da się prościej, bez funkcji?
A czy uzywanie własnych zdefiniowanych funkcji to coś trudnego ??

Pozdrawiam :wink:
...

Re: Jak pobrać z łańcucha n wyrazów? (php)

: sob lip 02, 2005 10:27 am
autor: bwo
Eee jak prościej bez funkcji.. Przecież i tak i tak musisz uyż jakiejś funkcji, a ta akurat jest bardzo zwieźle napisana.

ha, ha - już rozumiem, z manuala i pizzy...

: sob lip 02, 2005 10:29 am
autor: zephyr7
grzebię na otwartych bebechach mambo 4.5.2 i nie mogę sobie walnąć funkcji byle gdzie, ale explode to jest właśnie to, czego trzeba. Najpierw przypiszę pojedyncze wyrazy tablicy, a później wyświetlę pierwsze 10. Powinno działać.

Re: Jak pobrać z łańcucha n wyrazów? (php)

: sob lip 02, 2005 10:32 am
autor: bwo
Zrób sobie oddzielny plik ze swoimi funkcjami i je include'uj w potrzebnych plikach mamba, dzieki czmeu bedziesz miał porządek.

zrobiłem to tak:

: sob lip 02, 2005 10:42 am
autor: zephyr7
$wyrazy = explode(" ", $lancuch);

for ($w=0;$w<10;$w++){
echo($wyrazy[$w]." ");
}

łatwo, szybko i bez stresów :)
działa bez zarzutu!