Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekształcenie ciągu znaków na 1 standard
Forum PHP.pl > Forum > Przedszkole
Arhimenrius
Witam ponownie. Chciałbym prosić o pomoc. Potrzebuję by po wpisaniu klasy (a dokładniej po wczytaniu jej z bazy danych, by potem załadować poprawną wersję klasy) była ona przetwarzana przez skrypt na 1 standard obowiązujący.

  1. $class = "1 IB";
  2. echo $class;
  3. echo '<br />';
  4. $class = TRIM($class);
  5. $arr1 = str_split($class);
  6.  
  7.  
  8. for($i = 0;$i<strlen($class);$i++)
  9. {
  10. if($i > 0 && $arr1[$i] != 0) {$number = $number+1;}
  11. str_replace(" ","",$arr1[$i]);
  12.  
  13. }
  14.  
  15. echo '<br />';
  16. print_r($arr1)


Więc tak, w tym przypadku podaję 1 IB, potrzebuję by skrypt przerobił to na standard 1IB. I tak samo by to działało jak będzie 1I B, etc (bo przecie nie wiadomo jak użytkownik wpisze, a wszystko jest wcześniej ładowane do bazy przez plik .csv). Jeżeli natomiast w nazwie klasy znajdzie się 2x cyfra (np. 32IB) to by wyrzuciło błąd iż jest ta osoba do poprawy (aczkolwiek to dam rady zrobić). Kwestia tego, jak mam zrobić te pierwszą część skryptu...?
peter13135
Nie musisz robić tego w pętli. Zauważ, że funkcji str_replace w trzecim argumencie możesz podać cały string. a nie tylko jeden znak. Funkcja zwróci Ci string gdzie zamiast "podciągu" podanego w parametrze 1, znajdzie się podciąg podany z parametrze 2.

Od biedy i Twój skrypt mógłby działać... ale przecież Twoja pętla w żaden sposób nie modyfike zmiennej $arr1.
by_ikar
Kasuj wszystkie białe znaki (spacje, entery, tabulacje etc) i wtedy za każdym razem powstanie ci "3IB", mimo że ktoś może wpisać nawet tak "3 I B", czy w jakiś podobny sposób. A w bazie danych musiałby się znajdować już te "klasy" bez spacji.
Arhimenrius
hmmm... tylko w jaki sposób przy użyciu str_replace mogę skasować te spacje? bo nawet użycie całego stringa zamiast 1 znaku nie pomaga ;|
peter13135
$class = str_replace(" ","",$class );
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.