Wyciągane z pliku wyrazu zwartego pomiędzy frazami |
Wyciągane z pliku wyrazu zwartego pomiędzy frazami |
15.03.2018, 14:51:42
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
Witam, mam problem związany z wyciąganiem zawartośći z pliku edytowalnego w notatniku.
CODE $f = file('test1.NST'); foreach ($f as $line_num => $f ) { echo "Linia #<b>{$line_num}</b> : " . htmlspecialchars($f) . "<br />\n"; } $tekst = "To jest tekst. Tego zdania nie będzie widać."; foreach ($f as $line_num => $f ) { $zdanie = substr(htmlspecialchars($f), 0, strpos(htmlspecialchars($f), ".DFT")); } print $zdanie; Wyświetla mi całą zawartość pliku tak jak bym go otwierał w notatniku, ale potrzebuję wyciągnąć frazy /P 11-92916-00-01.DFT /I 0.0 0.0 która ma na końcu rozszerzenie ".DFT" a zaczyna sie od "/P " Pierwszy raz robię coś na plikach i nie bardzo wiem jak się za to zabrać, nigdzie nie znalazłem podobnego wątku także liczę na waszą pomoc. Dziękuje i pozdrawiam. |
|
|
15.03.2018, 14:56:53
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
-------------------- |
|
|
16.03.2018, 14:15:36
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
Dziękuje, działają mi polecenia gdy w zmienną mam zapisane ręcznie, z pliku jako string nie.
CODE $plik = 'test1.NST'; $tekst = file_get_contents($plik); preg_match_all("/\/P (.*)\.DFT/", $tekst, $out); var_export($out[1]); zwraca mi wartość "array ( ) " |
|
|
16.03.2018, 14:26:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
pokaż kawałem zawartości pliku gdzie jest ten fragment.
|
|
|
16.03.2018, 14:29:04
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
CODE [2000]
/P drzwi 810x1800 RS500.DFT /I 0.0 0.0 "" /O 10.00000 0.00000 1 0 0 1520491627 5 /A 0.00000 /M 0 /G 1 1 1817.00000 829.00000 0 0 0.00000 1 0.00000 1 InstanceCoilsData = 0 0.000000 0.000000 0 0.000000 [2000] /P 11-92916-00-01.DFT /I 0.0 0.0 "" /O 1567.44979 357.84139 2 0 0 1520491680 5 /A 270.00000 /M 0 /G 1 1 101.52136 755.00000 0 0 0.00000 1 0.00000 1 InstanceCoilsData = 0 0.000000 0.000000 0 0.000000 |
|
|
16.03.2018, 14:38:23
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
var_export($out);
|
|
|
16.03.2018, 14:44:51
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
wynik : array ( 0 => array ( ), 1 => array ( ), )
|
|
|
16.03.2018, 15:03:26
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
Ten post edytował markuz 16.03.2018, 15:03:33 -------------------- |
|
|
16.03.2018, 16:51:32
Post
#9
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Stworzyłem plik z kodowaniem Windows-1250, czyli chyba taki jak notatnik, wkliłem podany tekst i zadziałało z patternem Markuza
|
|
|
19.03.2018, 08:22:58
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
Trzczy, też to nie działa. Próbowałem różne kodowania i przy Windows-1250 nic mi nie wyświetla. Chyba problem tkwi w formacie pliku, plik jest zapisem konfiguracji do maszyny CNC, gdzieś tu jest wilk pogrzebany.
Zauważyłem że jak plik .NST zapisze w formacie .TXT z kodowaniem ANSI to odczytuje. Taka operacja akurat mija się z celem bo już jest wkład manualny w to, a chodzi o z automatyzowanie procesu. Dodam pytanie z innej beczki, czy jest możliwość za pomocą skryptu przekonwertować plik na możliwy do odczytu ? |
|
|
19.03.2018, 09:25:04
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Podeślij na PW ten pliczek ew. umieść go tutaj jeśli możesz to zobaczymy co się dzieje.
|
|
|
19.03.2018, 10:07:08
Post
#12
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
|
|
|
19.03.2018, 10:19:49
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Plik jest w UTF-16 którego preg_* nie obsługuje.
|
|
|
19.03.2018, 10:29:49
Post
#14
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.03.2018 Ostrzeżenie: (0%) |
Działa
Bardzo dziękuję za pomoc , nauczyłem się czegoś nowego. |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 19:33 |