[PHP]Usunięcie niepotrzebnych znaków z tekstu odczytanego z pliku |
[PHP]Usunięcie niepotrzebnych znaków z tekstu odczytanego z pliku |
26.07.2009, 14:58:16
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.09.2008 Ostrzeżenie: (0%) |
Piszę skrypt, który ma odczytywać tekst z pliku tekstowego, dzielić go na wyrazy i zapisywać jako rekordy do bazy danych.
Niby wszystko działa, ale w niektórych rekordach pojawiają się niestety, jakieś znaki zapytania np.: "?człowiek". Wydaję mi się, że może to być związane z jakimiś znakami ASCII, które przy zapisie do bazy kończą jako '?'. Otwieram ten plik w notatniku i tam wszytko wygląda ok. Brak jest krzaczków itp. Przed zapisem do bazy usuwam tekst ze znaków interpunkcyjnych itp:
Także znaki zapytania w tym momencie powinny być wycięte. Znalazłem taką funkcję:
Pozbywa się ona tego problemu, lecz niestety dodatkowo usuwa wszystkie polskie znaki, a te chciałbym zachować. Dodam jeszcze, że kodowanie wszędzie ustawione jest na utf-8. Z góry dziękuje za wszelką pomoc. |
|
|
26.07.2009, 15:58:17
Post
#2
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 9 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
|
|
|
27.07.2009, 12:06:36
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.09.2008 Ostrzeżenie: (0%) |
Jednak pozwole sobie zapytać, czy ten plik tekstowy też jest w utf-8? Tak na pewno wszędzie jest utf8. Namierzyłem jeden znak, który powodował znaki zapytania. Był to '„'. Przydałby się jednak jakiś sposób na pozbycie wszelkiego typu niestandardowych znaków ASCII. W innym pliku skopiowanym z worda znalazło się '¬' i problem się powtórzył. |
|
|
27.07.2009, 12:57:16
Post
#4
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) |
To może lepiej ustawić znaki, które mają pozostać? Np.
Kod $text = preg_replace('/[^a-z]{1,}/i', ',', $text);
|
|
|
27.07.2009, 14:31:26
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.09.2008 Ostrzeżenie: (0%) |
Dzięki wielkie;]
Po dodaniu polskich znaków działa wyśmienicie. |
|
|
30.09.2011, 12:49:02
Post
#6
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) |
Też próbuję, ale mi nie wychodzi. Jak dostawić te polskie znaki?
Z tekstu chcę wyrzucić wszystko oprócz liter. Potem przed dużymi literami wstawić spacje. Wyrzucajc znaki w ten sposób Zamiast liter Ł i Ć mam � Z kolei chcc dodać spacje przed dużymi literami dostaję ostrzeżenie: Unknown modifier '�' in... czyli nie rozpoznawany jest znak Ł i Ć. Jak więc przeczycić i podzielić tekst - 'Abc Def, Ghi,Jkl(Mno,Pqr), Stu/Vwy Zet, Ło,Ćma'? Ten post edytował wicy 30.09.2011, 12:57:26 |
|
|
Wersja Lo-Fi | Aktualny czas: 30.05.2024 - 19:14 |