regexp
ELEKTpoHuK 27.09.2009 20:09
Настроил на локальной машине NConvert скачанный отсюда
http://www.kulikoff.net/parser3/img/ Все прекрасно работало. Но стал переносить все это на хостинг (в данном случае masterhost freebsd 6.2) и сразу при запросе информации об изображении стала появляться ошибка.
Стал искать причину -
$fResult.text - выдавал информцию о файле в исходном виде
$fResult.stderr - выдавал wmftogif: not found
$fResult.status - выдавал 0
** NCONVERT v5.50 (c) 1991-2009 Pierre-E Gougelet (Sep 16 2009/14:59:37) **
Version for FreeBSD x86 (X11) (All rights reserved)
** This is a freeware software (for non commercial use)
/home/u98130/hev-dog.ru/www//_pic_/dogs/146.jpg : Success
Format : JPEG TrueColor (v1.2)
Name : jpeg
Compression : JPEG
Width : 600
Height : 400
Components per pixel : 3
Bits per component : 8
Depth : 24
# colors : 16777216
Color model : RGB
Bytes Per Plane : 1800
Orientation : Top Left
Xdpi : 100
Ydpi : 100
Page(s) : 1
, wmftogif: not found
, 0
Стал искать причину дальше и остановился на том, что не срабатывает регулярное выражение
^fInfo.text.match[^^\s*(\S.+\S)\s+:\s+(.+)\s*^$][gm]
при этом выражение
^fInfo.text.match[^^\ *(.+)\ +:\ +(.+)\ *^$][gm] срабатывает но не дает приемлемый результат
т.к. \s и \S относятся к Спецсимволам в регулярных выражениях то я сделал вывод, что именно спецсимволы и не срабатывают.
Встречался ли кто-нибудь с такой проблемой? Как можно ее решить?
На всякий случай выкладываю код функции в которой происходит ошибка
@_parseInfo[fInfo][sDummy;tSize]
$result[
$.hRaw[^hash::create[]]
]
# этот код срабатывает и информация пишется в файл но не убирает пробелы после первого слова
$f_info_text[$fInfo.text]
$f_info_match[^f_info_text.match[^^\ *(.+)\ +:\ +(.+)\ *^$][gm]]
^f_info_match.save[/f_info_match.txt]
^if(!$fInfo.status && def $fInfo.text){
# а этот код уже не срабатывает
$sDummy[^fInfo.text.match[^^\s*(\S.+\S)\s+:\s+(.+)\s*^$][gm]{
^result.hRaw.add[$.[$match.1][$match.2]]
^switch[$match.1]{
^case[Name]{^result.add[$.sFormat[$match.2]]}
^case[Compression]{^result.add[$.sCompression[$match.2]]}
^case[Width]{^result.add[$.iWidth($match.2)]}
^case[Height]{^result.add[$.iHeight($match.2)]}
^case[Xdpi]{^result.add[$.iXdpi[$match.2]]}
^case[Ydpi]{^result.add[$.iYdpi[$match.2]]}
^case[# colors]{^result.add[$.iColors[$match.2]]}
}
}]
}
#end @_parseInfo
- regexp, ELEKTpoHuK 27.09.2009 20:09
- версии парсера, moko [M] 28.09.2009 12:27
- Ответ, ELEKTpoHuK 28.09.2009 12:53
- ..., moko [M] 28.09.2009 13:11
- Ответ, ELEKTpoHuK 28.09.2009 13:46
- Гм., moko [M] 28.09.2009 17:04
- Ответ, ELEKTpoHuK 28.09.2009 21:14
- Ответ, Misha v.3 [M] 28.09.2009 01:33
- Ответ, ELEKTpoHuK 28.09.2009 11:03
- Проверить, 27.09.2009 23:59