Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Parsiranje u PHP-u

[es] :: PHP :: Parsiranje u PHP-u

[ Pregleda: 1692 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Parsiranje u PHP-u22.05.2006. u 22:47 - pre 217 meseci
Pozdrav ljudi, imam ovakav fajl koji služi za prevođenje aplikacija, a ja bih da pravim web-based prevođenje:

Code:
msgid "english text"
msgstr "srpski tekst"

msgid "english text 2"
"second row"
msgstr "srpski tekst 2"
"drugi red"


E sad, problemčić mi pravi to što može da ima koliko hoćeš stringova za prevesti i svaki može imati koliko hoćeš redova. Ja sam krenuo da radim ovo, i bilo je lako dok nisam skontao da svaki string može imati više redova. Pošto u početku samo importujem stringove, deo na srpskom mi ne treba, znači ja treba da izvučem sve od "msgid" do "msgstr" i da vratim to, ali kao jedan string (jedna promenljiva). Onda treba proći kroz sve stringove koji se prevode i vratiti sve vrednosti kao jedan array. Hmm... Neke ideje?

p.s. Imaću uskoro još neka parsiranja (a njih mrzim) tako da ću se u ovoj temi obratiti za pomoć
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

cartmanlee
cartmanlee
FLEX/PHP specijalist, Adobe UG Manager
Zagreb

Član broj: 50997
Poruke: 436
*.adsl.net.t-com.hr.

Sajt: www.zgflex.org


+1 Profil

icon Re: Parsiranje u PHP-u23.05.2006. u 14:56 - pre 217 meseci
Ne želim ti sad soliti pamet, ali zašto ne koristiš npr. getText za te multijezične opcije, i onda samo ispišeš vrijednost sa echo _("keyvalue")?
Ovako ti je to sve labavo. U jednom trenutku će raditi, ali ako nešto promijeniš, čitav sustav će pasti. A ovako možeš izbjeći sve te probleme.

Što se tiče parsiranja ovog fajla - malo ti je nezgodan format, možda bi bilo zgodnije da imaš nekakav limiter u tekstu kao | ili #, da ti stringovi budu u istom redu kao i msgid, pa onda s explodeom parsaš redak po redak.

Za ovaj fajl još možeš da od početka retka tražiš prvi prazni znak, sve do njega uzmeš kao id, i onda sve dok redak ne započne sa brojem uzimaš "" vrijednosti i stavljaš ih u neki string array. Ne znam što još da ti kažem, vidiš da sam se i sam pogubio
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Parsiranje u PHP-u23.05.2006. u 20:29 - pre 217 meseci
Ovakav file format je već ustaljen za gnu gettext tako da ne mogu da menjam format fajla. Ne radim ja višejezičnu aplikaciju u PHP-u nego web-based aplikaciju za prevođenje stringova. Nešto kao ovo, samo za svoje potrebe.

Pozdrav,
očekujem još predlogaaaaa
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Parsiranje u PHP-u25.05.2006. u 17:59 - pre 217 meseci
E ljudi, nešto sam razmišljao da učitam čitav fajl u string i onda sa preg_match_all da pokupim sve između msgid i msgstr. Posle ću, kad dobijem stringove u array-u, lako da odbacim višak i da sve to izgleda lepo. Naravno (kao i uvek), problem mi je RegEx. Pokušao sam nešto kao ^msgid(.*)msgstr$ (to mi je radilo u .htaccess fajlovima ) ali mi vraća prazan niz. Tako da, ako *neko* zna RegEx (a znam da vas ima na forumu ) - molim ga za pomoć.

Hvala
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Parsiranje u PHP-u26.05.2006. u 06:17 - pre 217 meseci
Code:

$string = 'msgid "english text"
msgstr "srpski tekst"

msgid "english text 2"
"second row"
msgstr "srpski tekst 2"
"drugi red"';
preg_match_all('/msgid(.*)msgstr/Us', $string, $bre);
echo '<pre>'.print_r($bre, true).'</pre>';

Banned - Not available
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Parsiranje u PHP-u26.05.2006. u 11:28 - pre 217 meseci
Hvala Branko, to je to!
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[es] :: PHP :: Parsiranje u PHP-u

[ Pregleda: 1692 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.