Black_Sunlight
Новичок
- Сообщения
- 13
- Репутация
- 0
Есть скрипт, который читает строчки из файла items-rus.txt
они идут в формате:
одно слово
другое слово
третье сло во
четвёртое
и т.д.
и заменяет ими заданные по регекспу значения в файле items.xml, которые идут в формате
<passive cache="blabla" type="blabla" name="slovo" />
<passive cache="blabla" type="blabla" name="slovo" />
т.е. заменяет name="slovo" на name="одно слово" по порядку следования
и пишет изменённый файл в itemsRU.xml
но вот тут беда, в результате все заменённые name оказываются с самым последним словом из файла items-rus.txt
Помогите исправить пожалуйста скрипт.
они идут в формате:
одно слово
другое слово
третье сло во
четвёртое
и т.д.
и заменяет ими заданные по регекспу значения в файле items.xml, которые идут в формате
<passive cache="blabla" type="blabla" name="slovo" />
<passive cache="blabla" type="blabla" name="slovo" />
т.е. заменяет name="slovo" на name="одно слово" по порядку следования
и пишет изменённый файл в itemsRU.xml
но вот тут беда, в результате все заменённые name оказываются с самым последним словом из файла items-rus.txt
Помогите исправить пожалуйста скрипт.
Код:
#include <file.au3>
Global $aEnRu
If Not _FileReadToArray(@ScriptDir&'\items-rus.txt', $aEnRu) Then
MsgBox(4096,"Ошибка", "Невозможно прочитать массив" & @error)
Exit
EndIf
$file = FileOpen(@ScriptDir&'\items.xml', 0)
$text = FileRead($file)
FileClose($file)
For $i = 1 to $aEnRu[0]
$text=StringRegExpReplace($text, 'name="(.*)"', 'name="'&$aEnRu[$i]&'"')
Next
$file = FileOpen(@ScriptDir&'\itemsRU.xml',2)
FileWrite($file, $text)
FileClose($file)