Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]true jeśli początek zmiennej taki sam, jak 2 zmiennej
Forum PHP.pl > Forum > Przedszkole
.Wojtek
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.
qrzysztof
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()).
kapuch
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"
qrzysztof
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
kapuch
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
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.