Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyszukanie ciągu znaków w zdaniu
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
mam zdanie: "wlazł kotek na płotek i mruga.". teraz chciałbym np sprawdzić czy w zdaniu występuje "na płotek". jak to zrobic aby dodatkowo nie rozrużniało wielkości liter ?
sowiq
preg_match() i flaga /i winksmiley.jpg
drPayton
Zamień wsio na małe/wielkie litery i wtedy porównuj. Z manuala z ww przeróbką:
  1. <?php
  2.  
  3. $mystring = 'wlazł kotek na Płotek i mruga.';
  4. $findme   = 'na płotek';
  5. $pos = strpos(strtolower($mystring), strtolower($findme));
  6.  
  7. if ($pos === false) {
  8.    echo "The string '$findme' was not found in the string '$mystring'";
  9. } else {
  10.    echo "The string '$findme' was found in the string '$mystring'";
  11.    echo " and exists at position $pos";
  12. }
  13. ?>


@up: Co do preg_match, cytat z manuala:
Cytat
Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.
sowiq
@drPayton,
oczywiście wiem, że te funkcje są szybsze. Wiem tylko, że przy funkcjach typu strtolower() są problemy z polskimi znakami przy UTF-8. A z drugiej strony nie wiem, czy preg_match() będzie wolniejsze niż 2 x strtolower() + strpos()...
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.