Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie zbędnych znaków
Forum PHP.pl > Forum > PHP
sf
  1. <?php
  2. $sChars = 'aąbcćdeęfghijklłmnńoópqrsśtuvwxyzżź';
  3.  
  4. // nie usunie
  5. $sString = "ąbćęśżź"; // - tutaj jeszcze jest znak 1/4, który nie przeszedł ;)
  6. echo preg_replace('/[^' . $sChars . ']/', '', $sString);
  7.  
  8. // usunie
  9. $sString = "ąbćęśż-^&";
  10. echo preg_replace('/[^' . $sChars . ']/', '', $sString);
  11. ?>


Mam taki przykładowy kod. Niestety w przypadku pierwszym nie usuwa mi 1/4, a dodatkowo zamienia na niezidentyfikowany znak. Czy ma ktoś na to radę? Jak usunąć zbędne znaki z tekstu poza zdefiniowanymi.

Testowane na PHP5.1.
dr_bonzo
Cytat
If you want to perform regular expressions on Unicode strings, the PCRE functions will NOT be of any help. You need to use the Multibyte extension : mb_ereg(), mb_eregi(), pb_ereg_replace() and so on. When doing so, be carefull to set the default text encoding to the same encoding used by the text you are searching and replacing in. You can do that with the mb_regex_encoding() function. You will probably also want to set the default encoding for the other mb_* string functions with mb_internal_encoding().

?
sf
Niestety mb_ereg_replace sobie z tym nie radzi, sprawdziłem chwile po tym jak napisałem posta.
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.