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

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

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

Post 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ć ;)
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

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

Post 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
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

dzienx :) trochę niepotrzebnie zagmatwane...

Post autor: zephyr7 »

Nie da się prościej, bez funkcji?
FanFataL
Nowy
Nowy
Posty: 113
Rejestracja: pn lut 28, 2005 1:33 am
Lokalizacja: Kraków / Katowice / Bydgoszcz
Kontakt:

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

Post autor: FanFataL »

zephyr7 pisze:Nie da się prościej, bez funkcji?
A czy uzywanie własnych zdefiniowanych funkcji to coś trudnego ??

Pozdrawiam :wink:
...
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

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

Post 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.
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

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

Post 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ć.
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

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

Post autor: bwo »

Zrób sobie oddzielny plik ze swoimi funkcjami i je include'uj w potrzebnych plikach mamba, dzieki czmeu bedziesz miał porządek.
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

zrobiłem to tak:

Post autor: zephyr7 »

$wyrazy = explode(" ", $lancuch);

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

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