Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]funkcja wycinajaca ... od określonego słowa
Forum PHP.pl > Forum > Przedszkole
shreker
Potrzebuję funkcję wycinającą ze stringu wszystko od określonego słowa.
np. mamy string "jakis tam bardzo długi string", i potrzebuję wyciąć wszytsko od słowa bardzo. Czyli ma się wyświetlić "jakiś tam".
Wiem że coś takiego jest tylko nie pamiętam która to funkcja.
user767
  1. $pobierz = $row['title'];
  2.  
  3. $licz = strlen($pobierz);
  4. $ile = $licz-14;
  5. $tnij = $licz - $ile;
  6. if ($licz>=14) {
  7. $dwa = substr($pobierz, 0, $tnij); } else { $dwa = $pobierz; }
  8.  
shreker
nie do końca o to chodzi, string może mieć różną długość, chodzi o słowo. czyli zawartość ma być wycinana od określonego słowa, a nie na podstawie długości stringu, tak jak powyżej.
ziqzaq
Zainteresuj się funkcją strpos lub stripos, a później zerknij na funkcję substr.
Połączenie tych funkcji powinno dać to czego oczekujesz.
aart3k
ja zazwyczaj korzystam z explode
wdev
Cytat(aart3k @ 11.12.2010, 23:50:50 ) *
ja zazwyczaj korzystam z explode


Odradzam. Może nieźle zawalić pamięć. Nie jest to takie ważne przy bardzo krótkich stringach (powiedzmy klikanaście słów), ale jak np. ma to być cały artykuł, to robi sie problem.
aart3k
Tak? Stosowałem przy całym htmlu strony nieraz i dawało radę, nigdy nie miałem "problemu".
Mephistofeles
Co nie zmienia faktu, że to nie jest optymalne rozwiązanie. Zaczniesz pracować nad czymś naprawdę większym i będzie problem.
wdev
Cytat(aart3k @ 12.12.2010, 10:53:26 ) *
Tak? Stosowałem przy całym htmlu strony nieraz i dawało radę, nigdy nie miałem "problemu".


Polecam parę testów z memory_get_peak_usage.
cycofiasz
  1. <?php
  2. $str = 'jakis tam bardzo długi string';
  3.  
  4. echo substr($str,0,strpos($str,'bardzo'));
  5. ?>


lub dla php >= 5.3.0

  1. <?php
  2.  
  3. echo strstr('jakis tam bardzo długi string','bardzo',1);
  4. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.