[PHP] Wyswietlanie pierwszych 100 znakow
[PHP] Wyswietlanie pierwszych 100 znakow
Zalozmy ze do zmiennej $xxx jest przyisany jakis tekst ze 1000 znakami i jak zrobic zeby wyswietlilo mi tylko pierwsze 100 znakow?
1. W temacie, korzystając z tagów, określaj język, do którego odnosi się topic [poprawione]
2. Stosuj pojedyńczy znak wykrzyknienia/pytajnika (Forum to nie Gadu-Gadu) [poprawione]
1. W temacie, korzystając z tagów, określaj język, do którego odnosi się topic [poprawione]
2. Stosuj pojedyńczy znak wykrzyknienia/pytajnika (Forum to nie Gadu-Gadu) [poprawione]
Re: [PHP] Wyswietlanie pierwszych 100 znakow
[php]<?php
echo substr($lancuch, 0, 99);
?>[/php]
echo substr($lancuch, 0, 99);
?>[/php]
Re: [PHP] Wyswietlanie pierwszych 100 znakow
a jak zrobic to samo tylko ze z wyrazami? np 20 pierwszych wyrazow zeby wyswietlalo
Re: [PHP] Wyswietlanie pierwszych 100 znakow
1. W pętli zliczyć spacje, albo
2. Odpalić str_word_count($str, 2); a potem z otrzymanej tablicy wyciągnąć początek n'tego słowa. No i obciąć string przez substr().
2. Odpalić str_word_count($str, 2); a potem z otrzymanej tablicy wyciągnąć początek n'tego słowa. No i obciąć string przez substr().
Re: [PHP] Wyswietlanie pierwszych 100 znakow
IMHO lepszym rozwiązaniem jest zastosowanie wywołania funkcji str_word_count z drugim parametrem równym 1 i z uwzględnieniem trzeciego parametru, w którym możnaby zdefiniować znaki interpunkcyjne i cyfry (podejrzewam, że też chciałbyś je wyświetlać).
Dlaczego z drugim parametrem równym 1? Bo gdy jest on równy 2 otrzymujemy tablicę, której indeksy stanowią pozycje danego wyrazu w całym łańcuchu znaków. A tak indeks liczony jest od 0 i łatwiej można sobie zdefiniować pętlę tworzącą łańcuch 20 wyrazów.
Dlaczego z drugim parametrem równym 1? Bo gdy jest on równy 2 otrzymujemy tablicę, której indeksy stanowią pozycje danego wyrazu w całym łańcuchu znaków. A tak indeks liczony jest od 0 i łatwiej można sobie zdefiniować pętlę tworzącą łańcuch 20 wyrazów.
Re: [PHP] Wyswietlanie pierwszych 100 znakow
Ale wtedy formatowanie zostaje rozbite. Nie mówiąc już o tym, że:
1. charlist został dodany w 5.1.0 dopiero
2. napewno chcesz jako słowo liczyć kropki, przecinki itd.? wtedy string "kropki, przecinki itd.?" zawiera 6 słów - jak je połączysz spacjami, to wyjdzie ciekawa papka...
1. charlist został dodany w 5.1.0 dopiero
2. napewno chcesz jako słowo liczyć kropki, przecinki itd.? wtedy string "kropki, przecinki itd.?" zawiera 6 słów - jak je połączysz spacjami, to wyjdzie ciekawa papka...
Re: [PHP] Wyswietlanie pierwszych 100 znakow
Hmm... Z tego co się orientuję, to jeżeli mamy wyrażenie "kropki, przecinki itd.?" podanie charlisty spowoduje, że otrzymamy 3 a nie 6 wyrazów. Nie mam możliwości przetestowania tego, ale tak właśnie mi się wydaje.viraptor pisze:napewno chcesz jako słowo liczyć kropki, przecinki itd.? wtedy string "kropki, przecinki itd.?" zawiera 6 słów - jak je połączysz spacjami, to wyjdzie ciekawa papka...
No fakt, to może być problem.viraptor pisze:charlist został dodany w 5.1.0 dopiero
Ale może spróbować inaczej?
Może lepszym rozwiązaniem byłoby takie zastosowanie funkcji explode()?
[php]<?php
explode(" ", $str, 20);
?>[/php]
Wtedy chyba otrzymamy tablicę zawierającą 20 wyrazów
Re: [PHP] Wyswietlanie pierwszych 100 znakow
No popatrz ty się - rzeczywiście
Co jednak nie zmienia faktu, że formatowanie tnie, bo ignoruje taby / dodatkowe spacje. Chociaż to może być porządane - no cóż wybór należy do pavelw'a.
Kod: Zaznacz cały
<?php print_r( str_word_count("kropki, przecinki itd.?", 1, ',.?')); ?>
Array (
[0] => kropki,
[1] => przecinki
[2] => itd.?
)
