Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sprawdzenie stringa i skasowanie ostatniego znaku
Forum PHP.pl > Forum > Przedszkole
diasek7
witam,
jak zrobic cos takiego, ze mam np dwa stringi:

to jest pierwszy string!
to jest drugi string

i jesli w jakims stringu znajduje sie na koncu ! to zamieniamy go na @? a jesli nie ma nic to na wykrzyknik?
lukaskolista
na szybko:

1. Za pomoca strlen pobierasz dlugosc stringa
2. traktujesz stringa jako tablice i pobierasz ostatni element (strlen() - 1)
masz ostatni element stringa, przepuszczasz przez filtr i dzialasz smile.gif
modern-web
str_replace ? Kombinuj wink.gif
lukaskolista
str_replace wywoluje sie rekurencyjnie po kazdej wykonanej zmianie, lepsze jset strtr, ktore przeleci caly string po kolei bez rekurencji
diasek7
cos mi tam wyszlo, a znalazlem jeszcze cos takiego:
  1. $string = preg_replace("/[^a-zA-Z0-9 \-]/", "", $string);
  2. $string = trim(preg_replace("/\\s+/", " ", $string));

powie mi ktos jak to mniej wiecej dziala?
kamil_lk
poczytaj o wyrażeniach regularnych
lukaskolista
zamienia wszystkie znaki niepasujace do wzorca na stringi podane w 2 argumencie. Nie bardzo sie nada.

  1. $string = 'abcd';
  2. echo $string[0];
  3. echo '<br />';
  4. echo $string[2];


nie lepiej potraktowac stringa, jak tablice?
diasek7
dzieki, a to drugie? bo tego to juz nie potrafi zalapac co to jest to chociazby s+

lukaskolista
\s to bialy znak, a bialy znak to spacja, tabulacja, nowa linia (w JS, w php pewnie podobnie)
diasek7
dzieki wielkie smile.gif

a jeszcze takie pytanie, jak robicie zamienianie polskich znakow na zwykle? jak np mam cześć to zeby zamienilo na czesc ?
lukaskolista
nie wiem, nie robie czegos takiego. Najprostszy sposob to strtr, gdzie jako drugi parametr podaje sie tablice, np.
  1. $tab = array(
  2. 'ą' => 'a',
  3. 'ę' => 'e',
  4. );
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.