Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Co¶ podobnego do funkcji strstr()
Forum PHP.pl > Forum > Przedszkole
Login
Czy da się zrobić, tak aby czytał tekst któr znajdował by się pomiędzy znakami 1, a 2 np. "oooooo1jaki¶tekst2oooooo" iż eby przeczytał "1jaki¶tekst2" Czyli co¶ w stylu funkcji
  1. <?php
  2. substs()
  3. ?>
strife
Witam,

preg_match_all
preg_match

Pozdrawiam!
FiDO
Oczywiscie, ze jest.. masz dwie opcje. Albo znajdziesz sobie pozycje poczatkowa i koncowa (czyli indeksy znakow '1' i '2') za pomoca strpos i potem zrobisz substringa albo za pomoca wyrazen regularnych:
  1. <?php
  2.  
  3. preg_match('#1(.*)2#U', $string, $m);
  4. echo $m[1];
  5.  
  6. ?>
Login
Przepraszam Bardzo!
Ale się ¶pieszyłem i się pomyliłem!
Chodzi mi o funkcję podobn± do strstr(). I jak bym użył tej funkcji strstr() do tego tekstu "ooooo1jaki¶tekst2ooooo" to odczytało by mi "1jaki¶tekst2ooooo". I mi chodzi o funkcję, która by przeczytała ten tekst tak: "ooooo1jaki¶tekst2"
I póĽniej ten tekst bym "przefiltrował" przez funkcję strstr() i wszło by mi "1jaki¶ tekst2"
tiraeth
  1. <?php
  2. function strfind($start, $end, $string)
  3. {
  4.  if(preg_match_all('#'.$start.'(.*?)'.$end.'#i', $string, $zmienna))
  5.  {
  6. return $zmienna;
  7.  }
  8.  else
  9.  {
  10. return false;
  11.  }
  12. }
  13.  
  14. # uzycie:
  15. $text = 'boboalbal1tutajtekst2obakwancla';
  16. $pom = strfind('1', '2', $text);
  17. print_r($pom);
  18. ?>
Login
wolałbym tę funkcję
Login
to chyb nie to
sobstel
co to znaczy "chyba nie to"? sprawdzales dzialania? strstr znajduje pierwsze wystapienie, a strrchr ostatnie. chyba o to ci chodziło?
Login
tak sprawdziłęm i nie działa
  1. <?php
  2. $tekst = &#092;"tojestjaki¶3tekst\";
  3. $tk = strrchr(&#092;"$tekst\", \"¶\");
  4. print &#092;"$tk\"
  5. ?>



Wy¶wietla mi "¶3tekst"

i to samo jest jak użyję funkcji strstr()
  1. <?php
  2. $tekst = &#092;"tojestjaki¶3tekst\";
  3. $tk = strstr(&#092;"$tekst\", \"¶\");
  4. print &#092;"$tk\"
  5. ?>



Wy¶wietla mi to samo co przy użyciu funkcji strstr() czyli wy¶wietla mi to "¶3tekst"
Może Ľle używam tej funkcji?
Albo czy jest możliwo¶ć usunięcia okre¶lonego tekstu, który jest w uchywycie?
dr_bonzo
Znajdz sobie strpos()-em pierwsze oooo i substr() obetnij od miejsca znalezienia ooooo + strlen( ooooo ). Potem znajdz drugie (ostatnie) oooooo i obetnij od poczatku do tego miejsca.

ooooo1jaki¶tekst2ooooo
strpos(ooooo)
substr(pos+len)
1jaki¶tekst2ooooo
strpos(ooo)
substr(0, pos)
Login
chodzi o to że ty "oooo" będzie różnie raz będzie ich 6, a raz 10. I to tak nie będzie
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.