Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana znaków w zdaniu
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
poszukuję sposobu na zamianę wszystkich nieodpowiednich znaków w zdaniu. Przykładowa funkcja str_replace zmienia mi znaki z jednej tablicy na drug±:
  1. str_replace(' ','_','Ala ma kota');

Czy istnieje jaki¶ sposób, aby podać tablicę znaków, które chciałbym mieć w zdaniu, a wszystkie inne napotkanie zamienić np na: '_' questionmark.gif Przykładowo chciałbym, aby w zdaniu znajdowały się tylko litery małe i duże bez polskich znaków. Podaj±c tablicę czy też wyrażenie regularne ze zbiorem poprawnych znaków wszystkie inne chciałbym w zdaniu podmienić na podkre¶lenie. Jest do tego jaka¶ funkcja ? Albo jaki¶ sposób ?
Ulysess
przykład:
  1. $arg1 = array('ĂĽ', 'Ĺ›', 'Ăł','Ĺ‚','♥','Ĺą','Ä™','ĹĽ','™','Ä…','♫','Đ”','Ń€','а','Đş','Đľ','Đ˝','Ä','â„–','Ĺ','â€','★','Łş','ღ','Ă©');
  2. $arg2 = array('ü', '¶', 'ó','ł','♥','¦','ę','ż','™','±','♫','Д','р','а','к','о','н','Đ','№','Ł','†','★','Ľ','ღ','é');
  3. $page = str_replace ($arg1,$arg2,$page);
Hpsi
strtr
  1. strtr($string, 'ĘÓˇ¦ŁŻ¬ĆŃęó±¶łżĽćń', 'eoaslzzcneoaslzzcn')

preg_replace
  1. preg_replace('{ +}', '-', $text);
kkuubbaa88
tak jak mówiłem nie poszukuje sposobu na podanie niepoż±danych znaków i póĽniej zamienienie je na poprawne.

chciałbym mieć odwrotn± funkcję. podaję tylko poprawne znaki, a wszystkie inne, które nie zostały wymienione w tablicy czy też wyrażeniu regularnym były zamienione czy też usunięte.
thek
  1. $string = preg_replace('/[^a-z]/i', '_', $string);

Wszystko co nie jest znakami od a do z (ignoruj wielko¶ć znaku) zamień na podkre¶lenie wink.gif możesz podać tam zamiast a-z dowoln± grupę znaków, ale pamiętaj, że specjalne trzeba poprzedzić znakiem ucieczki.
phpion
  1. $ciag = 'abc123';
  2.  
  3. echo preg_replace('/[^ab12]/', '', $ciag);
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.