Pszeudo-nyelv
Sziasztok!
A nyelvi fordítást előkészítendő szeretném a forrásomból tömbbe kigyűjtött szövegeket egy pszeudo-nyelvre fordítani, aminek annyi a lényege, hogy minden karaktert véletlenszerű másik karakterre cserélek.
Ez megy is, csakhogy vannak kivételek, amiket nem kellene fordítani:
- HTML tag-ek
- %s
- %1$s, %2$s, stb.
- szóköz (opcionális, nem feltétlenül akarok az eredetitől eltérő hosszú szavakat)
Az egésznek csak annyi a jelentősége, hogy az így "lefordított" lap számomra pont annyira értelmetlen, mintha egy igazi nyelvre lenne fordítva. Ha valahol mégsem értelmetlen, akkor az kimaradt a fordításból.
Hogy állnátok neki? Most egy elég bonyolult cserélgetős módszerrel dolgozok, de nem az igazi...
Köszönöm a segítséget:
Norbi
■ A nyelvi fordítást előkészítendő szeretném a forrásomból tömbbe kigyűjtött szövegeket egy pszeudo-nyelvre fordítani, aminek annyi a lényege, hogy minden karaktert véletlenszerű másik karakterre cserélek.
Ez megy is, csakhogy vannak kivételek, amiket nem kellene fordítani:
- HTML tag-ek
- %s
- %1$s, %2$s, stb.
- szóköz (opcionális, nem feltétlenül akarok az eredetitől eltérő hosszú szavakat)
Az egésznek csak annyi a jelentősége, hogy az így "lefordított" lap számomra pont annyira értelmetlen, mintha egy igazi nyelvre lenne fordítva. Ha valahol mégsem értelmetlen, akkor az kimaradt a fordításból.
Hogy állnátok neki? Most egy elég bonyolult cserélgetős módszerrel dolgozok, de nem az igazi...
Köszönöm a segítséget:
Norbi
Nem egészen értem...
Én úgy csinálnám, hogy először elkészíteném a fordító táblát. Majd a HTML-t XML-lé beolvasnám: DOMDocument->loadHTML(), majd végigmennék rajta (rekurzívan, vagy valami sax-szal), és a text node-okat szavakká alakítanám (explode), ellenőrizném, hogy nincsenek-e a tilott regex-ek listáján. Ha nem, akkor elvégezném a karakterekre az átalakítást.
Az eredményt vissa menteném HTML-ként. (Persze pár kisebb átalakítást lehet, hogy csinál a PHP DOM-ja rajta, de a struktúra nem igazán változik - mint amikor IE-vel elmented egy lap forrását. Nem 100%ra ugynaaz, mint az eredeti, de HTML-ként ugyanúgy néz ki).
Egyszerűbb
Tulajdonképpen az explode-hoz hasonló dolog megoldaná a gondjaimat, de hogy robbantok általában tag-ek mentén?
preg_split?
Köszönöm
Még egyszer köszönöm a segítséget!
Norbi