2016-11-16 54 views
1

我试图用一个模板替换文件的某个部分,当我将其全部粘贴到替换字段并单击替换时,该模板被截断。记事本++替换函数字符数限制

我的搜索是:

\t// MODDED STUFF HERE.*// END MODDED STUFF 

我试图来取代它:

\t// MODDED STUFF HERE\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+1\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger1"\)\);\r\n\tfor\(i=1; <rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\tfor\(j=0; <10\)\{\r\n\t\t\t// Titan Shield\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",452\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Eye of Horus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",194\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <4\)\{\r\n\t\t\t// Acupuncture\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",562\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Temple of Healing\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",341\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <2\)\{\r\n\t\t\t// Thurisaz Rune\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",328\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Jade Rabbit\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",566\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Head of Orpheus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",196\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Kithara of Apollo\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",201\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Pelt of Argus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",369\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Oseberg Wagon\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",370\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\t// Mythic Rejuvenation\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",432\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Heroic Renewal\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",433\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Hammer of the Gods\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",289\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Meteoric Iron Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",290\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dragonscale Shields\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",291\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",153\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Weapons\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",155\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Relic Fetters of Fenrir\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",199\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\}\r\n\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(true\);\r\n\trmSetTriggerLoop\(false\);\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+2\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger2"\)\);\r\n\t\r\n\trmAddTriggerCondition\("Timer"\);\r\n\trmSetTriggerConditionParamInt\("Param1",1\);\r\n\t\r\n\tfor\(i=1; <rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Food"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Wood"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Gold"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\}\r\n\t\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(false\);\r\n\trmSetTriggerLoop\(true\);\r\n\t\r\n\t// END MODDED STUFF 

但是那部分被切断。我希望能够使用替换函数替换它而不是直接复制和粘贴它的原因是因为我需要对多个文件(超过30个)进行完全相同的替换,所以通过使用替换函数可以更有效查找和替换功能,而不是每次都复制和粘贴。

有没有办法做到这一点,没有部分更换文字被我假设的字符限制截断?或者,如果有另一种方式来做我不需要的淫秽复杂的东西,我愿意接受建议。

回答

0

正如您所指出的,使用Notepad ++和TextWrangler等软件在可替换字段内可以粘贴的字符数量方面受到限制。

如果您想进行这种替换,您将不得不使用Python,PHP等编程语言。

例如,你可以在PHP中使用此代码做到这一点:上述

<?php 
    $replace_text = $_POST['replace']; 
    $target_text = ' \r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+1\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger1"\)\);\r\n\tfor\(i=1; &lt;rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\tfor\(j=0; <10\)\{\r\n\t\t\t// Titan Shield\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",452\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Eye of Horus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",194\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <4\)\{\r\n\t\t\t// Acupuncture\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",562\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Temple of Healing\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",341\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <2\)\{\r\n\t\t\t// Thurisaz Rune\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",328\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Jade Rabbit\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",566\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Head of Orpheus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",196\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Kithara of Apollo\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",201\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Pelt of Argus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",369\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Oseberg Wagon\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",370\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\t// Mythic Rejuvenation\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",432\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Heroic Renewal\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",433\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Hammer of the Gods\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",289\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Meteoric Iron Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",290\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dragonscale Shields\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",291\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",153\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Weapons\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",155\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Relic Fetters of Fenrir\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",199\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\}\r\n\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(true\);\r\n\trmSetTriggerLoop\(false\);\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+2\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger2"\)\);\r\n\t\r\n\trmAddTriggerCondition\("Timer"\);\r\n\trmSetTriggerConditionParamInt\("Param1",1\);\r\n\t\r\n\tfor\(i=1; &lt;rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Food"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Wood"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Gold"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\}\r\n\t\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(false\);\r\n\trmSetTriggerLoop\(true\);\r\n\t\r\n\t '; 
    $replace_text = preg_replace("/(?<=HERE)(\.\*)/", $target_text , $replace_text); 
    echo $replace_text; 
?> 

保存PHP代码,并将其命名为a.php

添加其他文件,使PHP工作,该文件将成为HTML和下面的代码复制里面,并将其保存为a.html

<form action="b.php" method="POST"> 
 
Text: <input style="width: 500px; height: 80px; margin:5px; padding: 5px;" type="text" name="replace"> 
 
    <br /><br /> 
 
<input value="replace" style="margin:5px; width: 100px; height: 40px;" type="submit"> 
 
</form>

现在,运行一个。在任何本地主机的HTML文件,它应该工作!

这是我使用的正则表达式,如果需要,可以从PHP文件'a.php'更改它以适合您的需要。

(?<=HERE)(\.\*)