Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Coś podobnego do funkcji strstr(), tylko, że odwrotnej
Login
post 6.04.2005, 17:24:39
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


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. ?>


Ten post edytował Login 6.04.2005, 18:06:31
Go to the top of the page
+Quote Post
strife
post 6.04.2005, 17:30:12
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Witam,

preg_match_all
preg_match

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
FiDO
post 6.04.2005, 17:30:41
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


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. ?>


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Login
post 6.04.2005, 18:03:31
Post #4





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


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"
Go to the top of the page
+Quote Post
tiraeth
post 6.04.2005, 18:08:39
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  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. ?>
Go to the top of the page
+Quote Post
Login
post 6.04.2005, 20:16:22
Post #6





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


wolałbym tę funkcję
Go to the top of the page
+Quote Post
sobstel
post 6.04.2005, 20:22:06
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


strrchr" title="Zobacz w manualu PHP" target="_manual


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
Login
post 7.04.2005, 05:44:30
Post #8





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


to chyb nie to
Go to the top of the page
+Quote Post
sobstel
post 7.04.2005, 08:29:28
Post #9





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


co to znaczy "chyba nie to"? sprawdzales dzialania? strstr znajduje pierwsze wystapienie, a strrchr ostatnie. chyba o to ci chodziło?


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
Login
post 7.04.2005, 15:13:06
Post #10





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


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?
Go to the top of the page
+Quote Post
dr_bonzo
post 7.04.2005, 17:33:16
Post #11





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Login
post 7.04.2005, 18:20:47
Post #12





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 4.01.2005
Skąd: Małopolska, Tarnów

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


chodzi o to że ty "oooo" będzie różnie raz będzie ich 6, a raz 10. I to tak nie będzie
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: 14.08.2025 - 10:48