Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Tworzenie "wstępu" do tekstu
thomson89
post 18.11.2009, 14:43:36
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Witam! Chciałbym stworzyć, taki wstęp do tekstu. Np. pierwsze 10 słów i wyświetlanie ...


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
phpion
post 18.11.2009, 14:47:41
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




mad.gif Super, trzymamy więc za ciebie kciuki.

PS: http://php.net/manual/pl/book.strings.php znajdziesz tutaj coś, co będzie ci pomocne.
Go to the top of the page
+Quote Post
skowron-line
post 18.11.2009, 14:48:53
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cieżko mi uwierzyć że nie wiesz jak się do tego zabrać.
@DOWN
No dobra niech sam się pomęczy. No i rzeczywiście był błąd smile.gif

Ten post edytował skowron-line 18.11.2009, 14:55:18


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
phpion
post 18.11.2009, 14:50:17
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@skowron-line:
I po co rzucasz gotowca, który i tak nie będzie działał do końca poprawnie? Daj chłopakowi samemu wysilić szare komórki...
Go to the top of the page
+Quote Post
thek
post 18.11.2009, 14:50:19
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




2 mozliwości... Albo robisz w bazie dodatkowe pole tekstowe, które wyświetlasz, albo wycinasz z głównego określoną ilość liter lub wyrazów. W zalezności od wersji albo biblioteczka funkcji na stringach str_* (konkretnie substr) albo wyrażenie regularne smile.gif

EDIT: w przypadku utf lepiej mb_ dodatkowo zaprząc winksmiley.jpg

Ten post edytował thek 18.11.2009, 14:51:48


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
thomson89
post 18.11.2009, 15:39:15
Post #6





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Tylko pytanie, jakiej funkcji użyć.

Mogę użyć: explode(); str_split(); oraz zbitkę str...();

Co najlepiej?

EDIT: z lekką ręką

  1. <?php
  2.  
  3. $tekst = 'Usnęli wszyscy. Sędzia w jasełkach ukryte chłopięta. Biegła i panien nie pytaj: co porabiał? Każdy, gdzie podział się? szukać prawodawstwa w nią śrut cienki! Trzymano wprawdzie pękła jedna króluje postać, jak bawić się nie mógł. Jak mnie dziecko do dworu uprawne dobrze na stosach Moskali siekąc wrogów, a wszystko strwonił, na ziemię ojczystą której lat blisko dwadzieści i jąkał się z jutrzenką napotka się dziś nagodzi do woli nagadać nie przeczym, że był legijonistą przynosił kości stare na ziemię ojczystą której nigdy nie miała, założyła ręce ciągnął wzdłuż i na tym obrazem. Właśnie rzecz daléj w którym wszystko przepasane, jakby za nim psów gromada. Gracz szarak! skoro pobył mało przejmował zwyczaj, którym świecą gęste kutasy jak pożar na utrzymanie. Lecz wtenczas panowało takie oślepienie, Że ta prędka, zmieszana rozmowa w podróży. Była to mówiąc, że odbite od Rejenta, szczuplejszy i Asesor, puścił z Warszaw mam list, to mówiąc, że gotyckiej są rowni. Choć Sędzia spał. Więc rozwiązane widział swych domysłów tysiące kroków zamek na urząd wielkie polowanie. I włos u nas. Do zobaczenia! tak pan tak nas powrócisz cudem na.';
  4.  
  5. $tableWithText = explode(' ', $tekst);
  6.  
  7. $i = 0;
  8. while($i <= 10){
  9. if($i != 0)
  10. print ' ';
  11.  
  12. print $tableWithText[$i];
  13.  
  14. if($i==10)
  15. print '...';
  16. $i++;
  17. }
  18.  
  19. ?>


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Vardamir
post 18.11.2009, 15:42:51
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 27.10.2009
Skąd: Kalwaria Zebrzydowska / Kraków

Ostrzeżenie: (0%)
-----


Po co tworzyć z tego tablicę. Użyj substr() jak sugerował kolega wyżej...

  1. $skroconytekst=substr($tekst,0,10)."...";


Poczynając od pierwszego znaku pobierasz 10 kolejnych ze zmiennej $tekst i tyle smile.gif

Ten post edytował Vardamir 18.11.2009, 15:43:47
Go to the top of the page
+Quote Post
potreb
post 18.11.2009, 15:45:24
Post #8





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wstęp zawsze robię poprzez dodatkowe pole, wtedy sam kontrolujesz ile tekstu ma byc.


--------------------

Go to the top of the page
+Quote Post
skowron-line
post 18.11.2009, 15:47:06
Post #9





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(Vardamir @ 18.11.2009, 15:42:51 ) *
Po co tworzyć z tego tablicę. Użyj substr() jak sugerował kolega wyżej...

  1. $skroconytekst=substr($tekst,0,10)."...";


Poczynając od pierwszego znaku pobierasz 10 kolejnych ze zmiennej $tekst i tyle smile.gif

Gdybyś przeczytał 1 post wiedziałbyś że chodzi o 10 pierwszych wyrazów a nie znaków.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Vardamir
post 18.11.2009, 15:54:25
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 27.10.2009
Skąd: Kalwaria Zebrzydowska / Kraków

Ostrzeżenie: (0%)
-----


A tak, ale dużo łatwiej wyświetlić powiedzmy 25 znaków i kropeczki, nie trzeba się tyle męczyć, a efekt praktycznie identyczny. Dodatkowo zawsze wiemy jakie wymiary będzie mieć pole tektu i łatwiej go formatować.
Go to the top of the page
+Quote Post
skowron-line
post 18.11.2009, 16:01:56
Post #11





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(Vardamir @ 18.11.2009, 15:54:25 ) *
A tak, ale dużo łatwiej wyświetlić powiedzmy 25 znaków i kropeczki, nie trzeba się tyle męczyć,

To że ty masz z tym problem nie znaczy że reszta się z tym męczy. No i 2 sprawa jak wygląda jak wyraz jest urwany po 3 literach.

Cytat(Vardamir @ 18.11.2009, 15:54:25 ) *
a efekt praktycznie identyczny.

Prawie robi wielką różnicę.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
thomson89
post 18.11.2009, 16:04:38
Post #12





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Pozostanę jednak przy swoim...

Co jezeli te 25 znaczków obejmuje 10 słów i dwie litery słowa następnego? Niepraktyczne.


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
hausner15
post 18.11.2009, 16:24:41
Post #13





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


No to ewentualnie coś takiego:

  1. $zmienna = substr($dlugi_tekst, 0, strpos($dlugi_tekst, ' ', 25));


25 znaków + x znaków do końca ostatniego słowa.

Pozdrawiam.

Go to the top of the page
+Quote Post
erix
post 18.11.2009, 16:26:56
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ok, a co zrobicie w sytuacji, gdy zajawka przerwie jakiś tag w środku, nie będzie domknięcia?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post 18.11.2009, 19:11:09
Post #15





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja w zajawce zawsze zabraniam używać tagów, a nawet jeśli wrzucą to na takich kolesi wrzucam strip_tags. Potem prega walnąć by wyjął 10 pierwszych wyrazów i do pola zajawka smile.gif Jak ktoś woli może w locie tego prega robić.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:44