Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> strpos ? substr? potrzebuje wyciac kawałek zmiennej.
maxi77
post 11.06.2019, 18:22:46
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.06.2019

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


witam

taka sytuacja:
$tekst = "To jest tekst. To jest drugi tekst. To jest trzeci tekst. To jest czwarty tekst. To jest piaty tekst. To jest szosty tekst."

potrzebuje dostac sie funkcji ktora obetnie mi zdania ktore sa po 3 kropce do konca. z obcieciem tego ciagu po pierwszym zdaniu daje sobie rade uzywajac substr($tekst, 0, strpos($tekst, ".")); ale jak obciac od trzecij kropki? lub czwartej?
dzieki!
Go to the top of the page
+Quote Post
sratatata
post 12.06.2019, 07:25:01
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


  1. <?php
  2.  
  3. $str = "To jest tekst. To jest drugi tekst. To jest trzeci tekst. To jest czwarty tekst. To jest piaty tekst. To jest szosty tekst.";
  4.  
  5. print implode('.', array_slice(explode('.', $str), '3', '3'));
  6.  
  7. // lub
  8.  
  9. function strcut( $str, $char, $pos ) {
  10. $i = 1;
  11. $a = explode( $char, $str );
  12. $r = array();
  13. foreach ( $a as $b ) {
  14. if( $pos < $i ) {
  15. $r[] = $b;
  16. }
  17. $i++;
  18. }
  19.  
  20. return implode( $char, $r );
  21. }
  22.  
  23. $char = ".";
  24. $pos = 3;
  25. echo strcut($str, $char, $pos);
  26.  
  27. ?>
Go to the top of the page
+Quote Post
nospor
post 12.06.2019, 09:32:13
Post #3





Grupa: Moderatorzy
Postów: 34 581
Pomógł: 5733
Dołączył: 27.12.2004




@sratatata chyba nie do konca zrozumiales o co chodzilo. Autor pytal o pozostawienie tekstu do trzeciej kropki a nie za nia.
Poza tym 3 to liczba i nie ma sensu, wrecz jest nielogiczne, brac ja w apostrof '3'

Poprawiona wersja

  1. $str = "To jest tekst. To jest drugi tekst. To jest trzeci tekst. To jest czwarty tekst. To jest piaty tekst. To jest szosty tekst.";
  2.  
  3. print implode('.', array_slice(explode('.', $str), 0, 3));
  4.  


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

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sratatata
post 12.06.2019, 11:18:30
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Cytat(nospor @ 12.06.2019, 09:32:13 ) *
@sratatata chyba nie do konca zrozumiales o co chodzilo. Autor pytal o pozostawienie tekstu do trzeciej kropki a nie za nia.
Poza tym 3 to liczba i nie ma sensu, wrecz jest nielogiczne, brac ja w apostrof '3'

Poprawiona wersja

  1. $str = "To jest tekst. To jest drugi tekst. To jest trzeci tekst. To jest czwarty tekst. To jest piaty tekst. To jest szosty tekst.";
  2.  
  3. print implode('.', array_slice(explode('.', $str), 0, 3));
  4.  

od
Go to the top of the page
+Quote Post
nospor
post 12.06.2019, 11:24:03
Post #5





Grupa: Moderatorzy
Postów: 34 581
Pomógł: 5733
Dołączył: 27.12.2004




Cytat
potrzebuje dostac sie funkcji ktora obetnie mi zdania ktore sa po 3 kropce do konca.

"Obetnie po" oznacza mniej wiecej - wywali za a poczatek zachowa.

Rowniez te intencje zawarte sa w nastepnym zdaniu i przykladzie
Cytat
z obcieciem tego ciagu po pierwszym zdaniu daje sobie rade uzywajac substr($tekst, 0, strpos($tekst, "."));


Gdzie ewidentnie widac co maxi chce uzyskac. Ale to trzeba czytac calosc a nie po lebkach


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

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sratatata
post 12.06.2019, 11:36:51
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Cytat(nospor @ 12.06.2019, 11:24:03 ) *
"Obetnie po" oznacza mniej wiecej - wywali za a poczatek zachowa.

Rowniez te intencje zawarte sa w nastepnym zdaniu i przykladzie


Gdzie ewidentnie widac co maxi chce uzyskac. Ale to trzeba czytac calosc a nie po lebkach

fakt. moj blad.
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: 18.06.2019 - 18:29