Kráťa:
--------------------------------------------------------------------------------
Moc dík za odpověď, script a regulerní výraz. Vypadá to nadějně. Jen
nevím, jak to spustit.
Normálně se to nalinkuje do dokumentu (do toho XML), jako každý jiný script
v HTML?
Řádím takto a teď mě to právě děsně zdržuje.
https://www.youtube.com/watch?v=o4i2Gz3hKi0
--------------------------------------------------------------------------------
Zdravim,
soubor skriptu je treba ulozit do podadresare PSPadu podle typu a pak obnovit
nacteni z menu Skripty: Rekompilace skriptu (totez se automaticky udela pri
kazdem spusteni PSPadu). Pokud by skriptovani nebylo zapnute, je treba je
aktivovat v Nastaveni: Nastaveni programu: Integrace do systemu: [x] Podpora
skriptovani pomoci WSH
Pro zmineny jednoucelovy skript je treba nasledujici kod ulozit do souboru v
uvedenem podadresari PSPadu, napr.:
... PSPad\Script\JScript
egexReplace.js
Podle radky ve funkci Init() se prida polozka pod menu ve skriptech a lze
priradit klavesovou zkratku - oboji jde v kodu upravit - je dulezite, aby
zkratka nekolidovala s necim dalsim (globalni ve windows, ve funkcich PSPadu a
ani sablonach - treba HTML, XML - a ani v pripadnych jinych skriptech).
Podle potreby je mozne radek s vyrazem upravovat, pripadne pouzit vice takovych
radek po sobe a provest postupne nahrazeni jednim spustenim skriptu:
outputTxt = outputTxt.replace(/RE_k_vyhledani/g, "RE_pro_nahrazeni");
(Pokud hledany text ma obsahovat lomitko, je treba pred ne pridat jeste zpetne:
\/ podobne jako pred zvlastni znaky RE.
Jako zastupny kod pro libovolny znak vcetne konce radku (namisto tecky . v
regulernich vyrazech) se mi nejlepe osvedcuje
(?:[^
]|(?:
))
- je kvuli dvouznakovemu zalomeni radku ve windows, tecka . zahrnuje
ale ne
)
Zdravim,
vbr
cite:
--------------------------------------------------------------------------------
//////////////////// ... PSPad\Script\JScript
egexReplace.js
////////////////////////
var module_name = "regexReplace";
var module_ver = "1";
function regexReplace(){
// nahrazeni (regex) v celem aktivnim textu
if (editorsCount()<1){return;}
var actEd = newEditor();
actEd.assignActiveEditor();
var outputTxt = actEd.text();
//re vyraz lze upravit, i pridat dalsi radky pro vicenasobne postupne nahrazeni
outputTxt = outputTxt.replace(/<Document
about="(?:[^
]|(?:
))*?<Zdroj>helpnet\.cz<\/Zdroj>(?:[^
]|(?:
))*?<\/Doc
ument>/g, "");
actEd.text(outputTxt);
}
function Init(){
addMenuItem("regex - promazat XML", "", "regexReplace","Ctrl+Shift+Q"); // nazev
v menu a klavesovou zkratku lze upravit
}
--------------------------------------------------------------------------------
--
<https://forum.pspad.com/read.php?1,74959,74977>
PSPad freeware editor https://www.pspad.com