Aplikace co nahradí znaky za jiné

Od: Datum: 08.03.14 20:05 odpovědí: 24 změna: 29.03.14 16:33
avatar

Dobrý den,

Programuji si webové stránky ( v html ) a potřeboval bych pomoc... Jelikož mne nebaví dělat každou stránku furt jak blbeček... ( udělal jsem si i šablony) Tak jsem si ti to chtěl zjednodušit - a to sice dávkovým souborem do kterého bych zapsal údaje a ono by mi to pak jednotlivé části kódu slepilo a mezi ně frklo to co jsem tam napsal. Vím jak to udělat, ale je tam takový malý problém a to sice že html obsahuje ostré závorky a ty cmd neakceptuje protože když mám například toto: echo Další stránka>> soubor.html Tak tam je problém v tom že pro uložení je třeba dát na konec>> ale protože je jich na jednom řádku více než ty dvě tak se to neuloží hned se baťák zavře a to i když tam na konec dám pause... A samozřejmě výstup žádný. Proto se tdy ptám zda-li neznáte nějakou aplikaci nebo soubor co by nahradil nějaké dočasné cmd akceptovatelné znaky za ty původní ostré závorky?

Děkuji a přeji hezký víkend - Blechta


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Od: luke237
Datum: 08.03.14 20:56
Dej to do uvozovek:
  1. echo "<a href="index2.html">Další stránka</a>" >> soubor.html
Ohodnoceno: 0x
 
Od: luke237
Datum: 08.03.14 20:58
Sorry, ted jsem si vsiml, ze tam jsou i nejake uvozovky uvnitr :( To nebude fungovat.
Ohodnoceno: 0x
 
Od: luke237
Datum: 08.03.14 21:03
Koukam na to jeste jednou a ono to fungovat nahodou bude. Mezi temi uvozokami je totiz URL (a pripadne pozdeji dale i parametry tagy) a to jsou vzdy relativne slusne retezce, takze ty echo zkopiruje bez problemu. Jestli se tam ale vyskytne nejaky strednik nebo neco, tak bude problem.
Ohodnoceno: 0x
 
Datum: 08.03.14 21:15
avatar

Díky to mne nenapadlo, zkusím to...

Datum: 08.03.14 21:18
avatar

problém je v tom že my ty uvozovky pořád zustávají v tom složeném souboru...

Od: luke237
Datum: 08.03.14 21:33

Take jsem si uz vsiml, ze to "pozira" uvozovky.

Jak vytvaris tento retezec?

  1. <a href="index2.html">Další stránka</a>

Nemuzes ho vytvaret v tomto tvaru?

  1. <a href=\"index2.html\">Další stránka</a>

Pak by to fungovalo.

Ohodnoceno: 0x
 
Datum: 11.03.14 14:28
avatar

V tom druhém tvaru to fungovat rozhodně nebude...


doplněno 16.03.14 11:30:

To to vážně nejde nijak udělat přes dávkovej soubor?

Od: luke237
Datum: 16.03.14 21:15

V tom druhem tvaru s temi zpetnymi lomitky to fungovat bude. Sam jsem to zkousel.

Přímá nahrada jde. Ja bych tom delal programem sed, ale to je v Unixu. Existuje pry i verze pro Windows®. Nevim, nezkousel jsem.

  1. sed "s/#/>/" <stary >novy

Ohodnoceno: 0x
 
Od: hop®
Datum: 16.03.14 15:42
avatar

Pokud jsem to dobře pochopil, tak máte textový soubor, v němž chcete nahradit nějaké znaky ostrými závorkami?

doplněno 16.03.14 17:00:

Něco jsem stvořil, můžete vyzkoušet, najdete zde...

doplněno 16.03.14 20:50:

P.S.: pravá hranatá závorka v baťáku znamená přesměrování na jiný výstup jednoduchá jako output, dvojitá jako append...

doplněno 16.03.14 21:42:

Jsem wůůůl, omlouvám se, špatně jsem to uložil. *hi*

Je to jen pracovní verze, pokud bude zájem, mohu upravit. Jede to pod DOSem, pod W7 funguje, za ostatní systémy neručím...

Ohodnoceno: 0x
 
Od: luke237
Datum: 16.03.14 21:18
můžete vyzkoušet, najdete zde
Soubor je chranen heslem *nevi*
Ohodnoceno: 0x
 
Od: hop®
Datum: 16.03.14 23:53
avatar

Původní link je opraven, ještě jsem si s tím trošku pohrál, aby to bylo univerzálnější, třeba to někomu k něčemu bude, druhá verze je tu...

Ohodnoceno: 0x
 
Datum: 19.03.14 20:26
avatar

ÓÓÓÓÓÓÓ, Moc děkuji, omluvám se že jsem tu nebyl a tudíž jsem dlouho nereagoval... Fakt díky... Takovou iniciativu bych od vás nečekal... :) Ještě jednou děkuji a omlouvám se...

doplněno 19.03.14 20:32:

Akorát nějak nechápu jak to funguje... Nenapsal jste jaké znaky to nahradí za ty hranaté závorky, a pokud jste to napsal tak se omluvám ale buď jsem to nepochopil nebo jsem to přehlédl...

doplněno 19.03.14 20:33:

hlavně nevím jak to má poznat kde má být ?

doplněno 19.03.14 20:35:

pardou, omluvám se hranaté závorky vypadly. Chtěl jsem tím naznačit že nevím jak ta vaše aplikace má poznat kde má býtl levé a kde pravá hranatá závorka...

Od: hop®
Datum: 19.03.14 20:32
avatar

V pohodě, jsem jen trošku oprášil programátorské vědomosti, je to vidět i na "prostředí" mého prográmku :-D

A funguje to tak jak má? Já to testoval na nějakých náhodných textových souborech, je možné že to není úplně přesně to, co potřebujete. Kdyžtak není problém upravit, zdroják mám v hlavě i v počítači...

doplněno 19.03.14 20:38:

Pokud Vám to funguje tak jako mně, tak se to po spuštění ptá v dialogu.
Dialog mohu nahradit parametry při spouštění programu.
Zkuste si vytvořit nějakou složku, tam zkopírovat nějaký Váš (vstupní) soubor a tento program a můžete zkoušet.
Pokud se Vás to po spuštění na nic neptá je někde chyba, zkusíme pořešit.
Pokud chcete, můžete mne kontaktovat přes ICQ (QIP) nebo Skype pro větši operativnost, máte-li zájem dám kontakt

doplněno 19.03.14 20:41:

Aplikace mění jeden znak za druhý. Pokud baťák nezkousne hranaté závorky (již jsem vysvětlil proč), zvolíte si znak, kterým tyto závorky ve svém zdroji nahradíte a ve finálním (Vašim baťákem) spojeném textu tyto závorky doplníte za ten zvolený "náhradní" znak...

Ohodnoceno: 0x
 
Datum: 19.03.14 20:58
avatar

No jo... Funguje to bezvadně, nicméně by bylo dobré aby to šlo celé udělat příkazem z baťáku např: BLECHTA1.EXE input.txt output.txt a b <-nahrazení znaků

Od: hop®
Datum: 19.03.14 21:10
avatar

Jo, to půjde, největším problémem bude najít si čas na to, abych to trošku překopal.

A mám to udělat nějak blbovzdorné, aby to třeba kontrolovalo všechny důležité věci? Anebo to mám nechat na Vás? Zajistíte sám, aby v adresáři vstupní soubor existoval, aby výstupní soubor neexistoval? ;)

Anebo to můžu udělat i bez parametrů a default bude třeba IN.TXT, OUT.TXT, A, B? Vy si jen vstupní soubor přejmenujete na IN.TXT a potom OUT.TXT na původní jméno? I ty smluvní náhrady pro levou a pravou závorku tam mohu dát napevno, nějaké znaky, které ve svém editoru dokážete napsat ale pro program nemají význam a nebudou tedy použity jinde... Přiznám, že tohle by pro mne byla nejjednodušší úprava, tu dám dohromady do půlhodinky ;)

Na pitvání parametru z příkazového řádku mám sice funkci, ale už si nepamatuji jak funguje, přecejen se už několik let živím něčím jiným :-D

Ohodnoceno: 0x
 
Datum: 20.03.14 06:45
avatar
Klidně, udělejte to tak jak to pro vas bude nejlehci,ja se nejak prispusobim :) Kazdopadne vam moc dekuji za vasi ochotu... Já bych nad tímhle už dávno zlomil hůl... :D
Od: hop®
Datum: 21.03.14 20:22
avatar

Tak slíbená další verze zde, čte to čtyři parametry z příkazového řádku v pořadí:
- vstupní soubor v aktuálním adresáři
- výstupní soubor v akruálním adresáři
- co nahradit levou hranatou závorkou
- co nahradit pravou hranatou závorkou

- parametry musí být oddělené jednou mezerou, fakt to není trottelfest :-D

A kdyby něco, tak klidně na tom ještě zapracuji, docela mě to začíná bavit, moje knihovna podprográmků kterou používám má letopočet 1996, tak se nedivte, že mi "trošku" dělá problém svoji původní myšlenku pochopit :-D

Nejvíc mi asi vadí, že programátorské prostředí editoru i compilátoru umí jen původní programátorskou klávesnici a nějaká myš neexistuje, blok se neoznačuje Shift + šipky, ale F7 je začátek a F8 je konec, kopie není CtrlV ale CtrlK+Y, jistě si mnozí starší praktici na tuto edeitaci vzpomenou *cteni*

Ale zvykám si rychleji, než jsem předpokládal, když jsem se rozhodl tento "projekt" naprogramovat, snad teda ještě nejsem tak úúúplně blbej... *uf* *haha*

doplněno 21.03.14 20:25:

... a omlouvám se, že mi to trvalo tak dlouho, sorry... *hi*

doplněno 21.03.14 21:39:

Fatálku, ale @blechta má nějaký způsob a nějakou potřebu něco udělat. Já to naprosto chápu, také vždy nedělám všechno tou nejjednodušší nebo nejkorektnější cestou, ale raději cestou, která mi vyhovuje, kterou mám vyzkoušenou a která je při mém použití nejrychlejší. Chňápeš? ;)

Ohodnoceno: 0x
 
Datum: 22.03.14 19:58
avatar

Děkuji vám moc, za vaši výpomoc, fakt jste mi ušetřil mnoho času! :) Díky...

Od: hop®
Datum: 23.03.14 20:56
avatar
Rado se stalo !
Ohodnoceno: 0x
 
Datum: 29.03.14 16:33
avatar

Nuže celý den programuji a zabývám tím kvůli čemu jsem založil tuto otázku, ovšem zapoměl jsemk na jednu drobnost, a to sice že pokud projedu něco přes příkazovou řádku, bude výstup v jiném kódování a bude bordle s diakritikou... pro blém je v tom že to žádný konvertor neskousne, protože je normální text s diakritikou zamýchaný s tím zdrojovým kódem html a ono mi to pak přelouská i některé znaky ve zdrojáku. Abych to tedy zjednodušil... pokouším se vytvořit aplikacikterá mi složí jednotlivé kusy zdrojového kódu a mezi ně mi foukne dalšív ěci jako text, nějaký objekt (html...) a vše to slepí dohromady tak aby to bylo furt vše ve stejném kódování... Nevíte jak to udělat? nešlo by něco takového usmolit?

doplněno 29.03.14 16:38:

nicméně tu vaši původní aplikaci na záměnu znaků stejně někde uplatním - dělám totiž více programů a potřebuji, aby občas program něco z počítače uživatele odeslal zašifrovaně jako například.: na co kliknul, co se mu na programu líbí, apod... :)

 

Datum: 21.03.14 20:59
avatar

Ono zlomit nad tím hůl by možná vážně bylo lepší. Protože takto se web opravdu nedělá. Jak vidíš je to náročné nejen pro tebe a je s tím zbytečně moc s*aní.

Ohodnoceno: 0x
 
Datum: 19.03.14 20:41
avatar

Jo, táááák - ono to funguje tekhle... ahááááá... To je dobrý... Takový univerzální... víceúčelový... :D Díky, už jsem to pochopil... ono se mě to pak zeptá co chi nahradit... Díky, už tomu rozumím... :)

Od: luke237
Datum: 19.03.14 21:02

Nebo muzes pouzit ten "muj" sed z prispevku vyse, ktery nahrazuje v tom uvedenem prikladu # →> a vstupem je soubor "stary" a vystupem soubor "novy". Pro zaměnu druhe zavorky to spustis jeste jednou se spravnou dvojici znaku.

Nebo na to muzes pouzit standardni unixovy program "tr" (existuje i port pro Windows®), ktery provede libovolne mnozstvi vzajemnych zaměn najednou.

Ohodnoceno: 0x
 
Datum: 17.03.14 00:02
avatar

Později je jednodušší přejít na PHP, pomocí kterého si ty různé části stránky do té "kostry" nataháš třeba z databáze.

Ohodnoceno: 0x
 

 

 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.