Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]true jeśli początek zmiennej taki sam, jak 2 zmiennej
.Wojtek
post 5.10.2010, 18:09:31
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 22.09.2009

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


Witam

Nie mogę znaleźć odpowiedzi jak zrobić takie coś:

np. mam zmienną
  1. $tekst = "cos tam";

Jak zrobić, aby uzyskać TRUE w porównaniu tej zmiennej ze zmienną
  1. $tekst2 = "cos tam + dodatkowy tekst"

Czyli uzyskuję z funkcji true, jeśli początek zmiennej jest taki sam jak dana zmienna lub FALSE, jeśli tak nie jest.
Go to the top of the page
+Quote Post
qrzysztof
post 5.10.2010, 18:27:45
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


A

  1. $tekst1="Cos takiego sobie";
  2. $tekst2="Cos takiego innego";


ma zwracać przy porównaniu TRUE?

Bo jeśli nie - czyli jeśli jedna zmienna musi zawierać się w drugiej - zainteresuj się funkcją strstr() lub pokrewnymi (np. strpos()).

Ten post edytował qrzysztof 5.10.2010, 18:30:36


--------------------
Znalazłeś sam rozwiązanie swojego problemu? Nie pisz "już wiem, do zamknięcia". Podziel się rozwiązaniem - inni będą mieli łatwiej.
Go to the top of the page
+Quote Post
kapuch
post 5.10.2010, 18:39:18
Post #3





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


Chyba prosciej bedzie przy uzyciu preg_match, bo wystarczy:

  1. $szukany_ciag = "/^cos tam/";
  2. $caly_tekst = "cos tam pisze zeby bylo cos napisane";
  3. if(preg_match($szukany_ciag, $caly_tekst)){
  4. echo "Znaleziono";
  5. }else{
  6. echo "Nie znaleziono";
  7. }

Pisane z palca, ale na 99% zadziala tongue.gif
Zwroci TRUE, gdy znajdzie "cos tam", na poczatku tekstu.
Jeszcze mozna dodac modyfikator " i " (zeby ignorowac wielkosc liter) - "/^cos tam/i"

Ten post edytował kapuch 5.10.2010, 18:41:55


--------------------
Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
Go to the top of the page
+Quote Post
qrzysztof
post 5.10.2010, 18:47:54
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


A

  1. return stringpos($tekst1, $tekst2)===0;


nie byłoby prostsze? rolleyes.gif Zwłaszcza, że przy tworzeniu wzorca ze zmiennej może być trochę zamieszania smile.gif


--------------------
Znalazłeś sam rozwiązanie swojego problemu? Nie pisz "już wiem, do zamknięcia". Podziel się rozwiązaniem - inni będą mieli łatwiej.
Go to the top of the page
+Quote Post
kapuch
post 5.10.2010, 18:57:59
Post #5





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


No tak, ale dodaj do tego jeszcze funkcje strtolower() bo musisz ja dodac, aby ignorowalo wielkosc liter, no i to twoje rozwiazanie nie jest odporne na zmiany - jak bedzie chcial cos zmienic w sposobie wyszukiwania (np, szukac od konca), to musi od nowa pisac warunek, a w preg_matchu zmieniasz tylko wyrazenie i jest ok.
Nie wiem gdzie ty masz problemy ze zmiennymi przy tworzeniu wzorca? To jest proste jak drut tongue.gif
  1. $ciag = 'cos tam';
  2. $match = "/^$ciag/i";

I to ma byc trudne? winksmiley.jpg

Dla mnie osobiscie do takich "wyszukiwarek" preg_match jest stworzony, ale kazdy ma swoje zdanie winksmiley.jpg

Ten post edytował kapuch 5.10.2010, 19:02:04


--------------------
Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
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: 8.07.2025 - 04:16