Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP - aplikacja porównująca, aplikacja porównująca zawartość plików php
xajart
post 2.12.2008, 18:25:49
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 1
Dołączył: 2.12.2008

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


Witam.

Chciałem zapytać czy można odczytać z poziomu kodu PHP zawartość plików PHP.

Chodzi mi mianowicie że mam dwa pliki które zawierają tlumaczenia. I jak wychodzi nowa wersja oprogramowania pojawiaja się w angielskiej wersji nowe tłumaczenia to bym sprawnie mógł sobie zaaktualizować do polskiej wersji. 

Założenie jest takie mam dwa pliki


pl.php i en.php

ich zawartość wygląda tak:

plik en.php:
'a' => 'b',
'a1' => 'b1',


plik pl.php
'c' => 'd',
'c1' => 'd1',


Algorytm programu chciałbym by wyglądał w taki sposób:
1) rozbić wiersz po wierszy - czyli poprzez explode wg przecinka
2) rozbić każdy wiersz wg apostrofu
3) i w ten sposób z pliku en.php pobrać najpierw 'a' po czym z pliku pl.php sprawdzić czy istnieje w nim zapis 'a' jeżeli
TAK to wyświetl wynik: 'a' => 'd'
NIE do wyświetl wynik w innym kolorze: 'a' => 'b'
4) I tak wszystkie wiersze pokolei które są w plikach, a i jeszcze jedno z pomijaniem duplikatów 'a' (bo w anglojezycznej wersji się pojawiają)


Będe wdzieczny za jakie kolwiek wskazówki.

Ten post edytował xajart 2.12.2008, 18:28:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
bartg
post 2.12.2008, 18:46:10
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


Wczytujesz oba pliki. Rozbijasz je poprzez explode. Potem usuwasz spacje, które nie są w apostrofach (jakby bylo gdzies za duzo, programowi to zmieni duzo, tobie nic) i puste linie. I porównujesz kolejne linie

if( $pierwszyplik[0]==$2plik[0]) { echo 'ok'; } else { echo 'ŹLE'; }
$pierwszyplik - array z liniami z 1 pliku
$2plik - array z danymi z 2 pliku
I po problemie

Ten post edytował bartg 2.12.2008, 18:46:55


--------------------
Go to the top of the page
+Quote Post
xajart
post 2.12.2008, 21:42:02
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 1
Dołączył: 2.12.2008

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


Dobra ogolny sens wiem jaki tego ma być. 
Ale mam pytanie z innej beczki czy za pomocą PHP da się zrobić (napewno się da) tylko kwestia jak to zrobić. A mianowicie wiem że w pliku będą występować zapisy takie jak:

'a' => 'b',
'c' => 'w',
'e' => 'f',
'g" => 'd',

ale znajdują się w tym pliku również inne śmieci jak komentarze itp. w jaki sposób zredagować zapomocą PHP dany plik tak by wyciągał tylko to co mnie interesuje. Zapewne trzeba jakąś regułe ustalić, wyczytałem że za pomocą komendy split() można to uzyskąc - tylko nie potrafie sobie poradzić ze zdefiniowaniem wyrażenia regularnego. 

Bo w zapisie typu 'a' => 'b' mogą w miejscu spacji wystąpić znaki tabulacji albo wielokrotnej spacji.
Ale głownie chodzi o to by skrypt wywalił wszystko poza zapisami w stylu 'a' => 'b' (z uwzglednieniem tabulacji i spacji)



Chyba. że znacie jakiś łatwiejszy sposób - na rozwiązanie tego problemiku ?

Ten post edytował xajart 2.12.2008, 21:55:48
Go to the top of the page
+Quote Post
bartg
post 2.12.2008, 22:41:53
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


poczytaj o wyrażeniach regularnych smile.gif
  1. <?php
  2. preg_match_all('!'(.+?)' => '(.+?)',!is', $brudny, $czysty);
  3. ?>


Ten post edytował bartg 2.12.2008, 22:47:01


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:41