Показать полную графическую версию : Объясните как работает <(.*?)> с IniRead
Centrinar
07-09-2010, 18:50
Есть ини файл типа: test1=<list><Teste><6><Описание>. Мне нужно что бы он читал "Описание". Пишу скрипт $text = StringRegExp(IniRead("conf.ini","Params","test"&$i,""),"<(.*?)>",3), но он читает только "Teste".
FlatX007
07-09-2010, 19:11
$text = StringRegExp("<list><Teste><6><Описание>","<(.*?)>",3)
ConsoleWrite($text[3] & @CRLF)
Centrinar
07-09-2010, 19:22
Явн чтот не то
FlatX007
07-09-2010, 19:36
StringRegExp - возвращает массив!, слово - "Описание" будет в третьей ячейке массива.
Что не - то ?
Centrinar
07-09-2010, 19:38
А как он узнает из какого файла читать данные?)))
FlatX007
07-09-2010, 19:41
блин я что бы протестировать у себя на компе буду создавать INI файл ... это ПРИМЕР! (как дети маленькие)
У тебя пример есть! вот и читай данные из $text[3]
madmasles
07-09-2010, 20:48
Centrinar,
Если заменить <Teste> на <TECTE> то у меня так получилось:$sPattern1 = '[^a-z]';<list>
$sPattern2 = '[^A-Z]';<TECTE>
$sPattern3 = '[^0-9]';<6>
$sPattern4 = '[^а-яА-я]';<Описание>
For $i = 1 To 4
MsgBox(0, $i, StringRegExpReplace(IniRead('conf.ini', 'Params', 'test1', ''), Eval('sPattern' & $i), '\'))
NextИли, если не менять, то так можно:$aTest = StringRegExp(IniRead('conf.ini', 'Params', 'test1', ''), '<(.*?)>', 3)
For $i = 0 To UBound($aTest) - 1
MsgBox(0, $i + 1, $aTest[$i])
Next
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.