![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
kiedys widziałem taką fajną funkcję która usuwała polskie znaki, jakies cyruliki i takie tam. istnieje funkcja która mi zwróci true/false w zależności czy string składa się tylko z normalnych znaków i efentualnie cyfr?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
To w końcu co? W temacie piszesz że chcesz usunąć polskie znaki, natomiast w treści posta wykryć czy string je zawiera. Zdecyduj się.
Ten post edytował wNogachSpisz 12.02.2012, 20:43:03 |
|
|
-Gość- |
![]()
Post
#3
|
Goście ![]() |
tak chce wykryć, wybacz mi
|
|
|
--Boria-- |
![]()
Post
#4
|
Goście ![]() |
Spróbuj funkcji stristr()
function validate_polish($input) { if (!stristr($input, 'ź')) { return false; } return true; } |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Powiedz jeszcze czy wiadome jest jaki system kodowania został użyty.
Jeśli tak to rozwiązanie będzie proste, jeśli nie to trzeba będzie się nieco nagimnastykować. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 12.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
a to co napisałem wcześniej nie zadziala?
Można włożyć w tablicę wszystkie polskie znaki w ten sposób: <?php $pl_ci='Ździebełkęą'; $arr = array('ą','ę','ż','ź','ć','ś','ł','ó','ń'); foreach($arr as $key => $szukaj_pl) { if(stristr($pl_ci, $szukaj_pl) != FALSE) { echo 'wyświetl jeśli znaleziono <br />'; } } ?> |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Nie, nie zadziała - skuteczność będzie zależna od zbieżności kodowania danych wejściowych i pliku ze skryptem. Kardynalnym błędem jest umieszczanie w kodzie PHP znaków z poza tablicy ASCII.
Ten post edytował wNogachSpisz 13.02.2012, 01:08:57 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Wyrażeniami regularnymi możesz wykryć łatwo czy ciąg zawiera niedozwolone znaki, a nawet od razu je usunąć.
Taką funkcją np możesz szybko usunąć ogonki. -------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Wyrażeniami regularnymi możesz wykryć łatwo czy ciąg zawiera niedozwolone znaki, a nawet od razu je usunąć. Taką funkcją np możesz szybko usunąć ogonki. Ten kod nie zadziała, patrz mój post wyżej. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 27 Dołączył: 16.04.2008 Skąd: Bakutilu Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Działać, zadziała, kwestia zmiany kodowania.
-------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Do dupy z takim programem który raz działa a raz nie.
Wyślesz to przez FTP w trybie ASCII i skrypt nie nadaje się do niczego. Albo ktoś kiedyś postanowi zajrzeć do skryptu, zmieni jakiś szczegół np. usunie biały znak, potem zapisze nie zwracając uwagi na kodowanie i znowu całość idzie w kibel. Tak się tego nie robi. Teraz troszke offtopne, bo autor nie znajduej czasu żeby odpowiedzieć na moje pytanie. Oto metoda jakiej używam do zamiany diakrytyków na łacińskie odpowiedniki, o ile wiem nie da się lepiej, input musi być w UTF-8.
Ten post edytował wNogachSpisz 13.02.2012, 12:20:40 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Co do usuwania.
Co do wykrywania
-------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Kod Notice: iconv() [function.iconv]: Wrong charset, conversion from `UTF-8' to `ASCII//TRANSLIT//IGNORE' is not allowed iconv jest za słabo udokumentowany, szczególnie ten rugi parametr, czarna magia, z tego co pamiętam to jest to też zależne od set_locale. Także blisko ale nadal źle. Natomiast to drugie jest chyba w porządku. Ten post edytował wNogachSpisz 13.02.2012, 12:27:41 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
@wNogachSpisz
Nie miałem nigdy problemów z iconv. Może lepiej być nie może ![]() -------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Ja mam problem już na wejściu, wywala ERROR
|
|
|
-Gość- |
![]()
Post
#17
|
Goście ![]() |
mb_detect_encoding się dobrze spisuje w przypadku nicku. ale przepuszcza znaki specjalne. więc istnieje funkcja gotowa, która mi zwaliduje imię? czyli z kolei przepuści polskie znaki ale nie przepuści innych znaków specjalnych
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Jeśli kodowanie jest jednobajtowe - bazujące na stornach kodowych - to bardzo łatwo sprawdzić numer konkretnego znaku w tablicy ASCII i tym samym rozpoznać czy jest to litera, cyfra, czy znak specjalny.
Jeśli natomiast kodowanie stosuje kilka bajtów na znak lub co gorsza mieszanej ilości bajtów na znak (jak UTF-8), to sprawa się komplikuje o tyle, że musisz ustalić czy dany bajt to tylko składowa znaku czy cały znak. Dlatego pytam czy dla programu znany jest system kodowania danych wejściowych, od tego zależy wybór optymalnego rozwiązania. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Hmmm... A nie pomyślał nikt o zwykłym preg_match? Podajecie zakres znaków ozwolonych i tyle. Jeśli w stringu będzie cokolwiek spoza niego - zwróci Wam false.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.05.2025 - 08:58 |