Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: filtrowanie ciągów
Forum PHP.pl > Forum > PHP
flashdev
Witam!

Czy jest wbudowana funkcja w php, realizująca poniższe zadanie?

  1. function filterChars($str, $allowedChars){
  2. $res = '';
  3. $count = strlen($str);
  4. for( $i = 0; $i < $count; $i++ ){
  5. if( strstr($allowedChars, $str[$i]) !== false ){
  6. $res .= $str[$i];
  7. }
  8. }
  9. return $res;
  10. }
  11. echo filterChars('abcdef', 'abc');
semper
Osobiście nic takiego nie kojarzę , najbliższe jest strpbrk() które szuka string po zbierze liter. Jednak po co Ci szukać wbudowanej skoro masz już coś co działa smile.gif
flashdev
Może chociaż da się to jakoś zoptymalizować? Filtruje tym wszystkie zapytania na stronie, więc kod wywołuje się dosyć często.
Fifi209
A mogę wiedzieć po co Ci to? biggrin.gif Filtrowanie zapytań? Co Ty tam filtrujesz tą funkcją?
flashdev
Cytat(fifi209 @ 4.03.2010, 13:26:14 ) *
A mogę wiedzieć po co Ci to? biggrin.gif Filtrowanie zapytań? Co Ty tam filtrujesz tą funkcją?


Po prostu nie korzystam w zwyczajny sposób z .htaccess -> mod rewrite.
Przekierowuję wszystko do index.php, a dalej już odpowiednia klasa parsuje adres url i chciałbym odfiltrować wszystkie śmieci (próby ataków). Zamiast zastanawiać się czego nie powinienem przepuszczać wolę pozwolić przejść tylko tym znakom na które zezwalam.
Fifi209
Cytat(flashdev @ 4.03.2010, 16:14:38 ) *
Po prostu nie korzystam w zwyczajny sposób z .htaccess -> mod rewrite.
Przekierowuję wszystko do index.php, a dalej już odpowiednia klasa parsuje adres url i chciałbym odfiltrować wszystkie śmieci (próby ataków). Zamiast zastanawiać się czego nie powinienem przepuszczać wolę pozwolić przejść tylko tym znakom na które zezwalam.

ctype_

A gdy coś jest bardziej skomplikowanego, wchodzą wyrażenia regularne: PCRE
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.