Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]operacje na plikach
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


mam plik *.txt, który wygląda mniej więcej tak:
2.0 1992.11 1975.10 22
1.1 1992.11 1975.10 35
1.1 SLE 1972.11 1975.10 40
&1300 MARATHON 1973.109 1975.08 42
...

Pytania:
-jak /przy pomocy jakiej funkcji dodać na początku każdego wiersza znak "$" (ale dodać tylko w tych wierszach, które nie mają znaku "&" na początku)
-jak usunąć wszystkie nadmiarowe spacje powyżej jednej
- za pomocą jakiej funkcji dodać przed ostatnimi numerami w rzędzie czyli przed 22, 35, 40, 42 znak ":", jak pomiędzy datami dodać znak "-"?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lamcpp
post
Post #2





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


mając taki warunek:
$wzorzec[0]='#([0-9]{4}.[0-9]{2})\s([0-9]{4}.[0-9]{2})\s#';
$zamiana[0]='$1-$2:';

chciałbym dodać do niego by wzorzec nie odnosił się do elementów które rozpoczynają się od znaku $ i & (ale odnosił się do wszystkich pozostałych)
Jak to zrobić? Próbowałem tak zmieniając wzorzec:
$wzorzec[0]='[^&]*#([0-9]{4}.[0-9]{2})\s([0-9]{4}.[0-9]{2})\s#';
$zamiana[0]='$1-$2:';
ale to nie daje efektu.
Również problem mam z przedstawionym na forum:
$patterns[1] = '#\s{2,}#';
$replacements[1] = ' ';
który usuwa spacje. Tylko usuwa..zbyt dokładnie, tzn nie wiem dlaczego ale poza spacjami usuwa tez znak nowej linii, przez co wszystkie linie się "pozlepiały" ze sobą.
ps. dziękuję za dotychczasowe odpowiedzi
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 19:33