|
|
| version 1.109.2.1.2.7, 2003/04/11 16:05:43 | version 1.124, 2003/11/04 10:49:33 |
|---|---|
| Line 272 odbc c:\drives\y\parser3project\odbc\ | Line 272 odbc c:\drives\y\parser3project\odbc\ |
| s singleline = $ считается концом всего текста | s singleline = $ считается концом всего текста |
| m multiline = $ считается концом строки[\n], не концом всего текста | m multiline = $ считается концом строки[\n], не концом всего текста |
| g найти все вхождения, а не одно | g найти все вхождения, а не одно |
| ' создавать столбцы prematch, match, postmatch | |
| !^строка.match[шаблон][опции поиска]{замена} | !^строка.match[шаблон][опции поиска]{замена} |
| опции поиска+= | опции поиска+= |
| g заменить все вхождения, а не одно | g заменить все вхождения, а не одно |
| Line 308 odbc c:\drives\y\parser3project\odbc\ | Line 309 odbc c:\drives\y\parser3project\odbc\ |
| !^table::load[[nameless;]путь[;опции]] | !^table::load[[nameless;]путь[;опции]] |
| !если не nameless, названия колонок берутся из первой строки | !если не nameless, названия колонок берутся из первой строки |
| !пустые строки, и строки в первой колонке содержащие '#', игнорируются | !пустые строки, и строки в первой колонке содержащие '#', игнорируются |
| !$.separator[^#09] | |
| !$.encloser["] по-умолчанию, нет. | |
| !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]] | !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]] |
| !^таблица.save[[nameless|append;]путь] | !^таблица.save[[nameless|append;]путь] |
| !$таблица.поле | !$таблица.поле |
| Line 393 odbc c:\drives\y\parser3project\odbc\ | Line 396 odbc c:\drives\y\parser3project\odbc\ |
| !$request:query | !$request:query |
| !$request:body unprocessed POST request body | !$request:body unprocessed POST request body |
| !$request:uri | !$request:uri |
| !$request:document-root | |
| каталог, относительно которого считаются пути в parser, по-умолчанию = $env:DOCUMENT_ROOT | |
| можно изменить, если на hosting что-то неудобно настроено | |
| X!$request:browser это hash, поля: | X!$request:browser это hash, поля: |
| !$type = ie/nn и !$version = номер, скажем 5.5 | !$type = ie/nn и !$version = номер, скажем 5.5 |
| X$request:user | X$request:user |
| Line 604 Xhashfile | Line 610 Xhashfile |
| если указана ширина_символа, то monospaced, если 0, то ширина_символа = ширине gif | если указана ширина_символа, то monospaced, если 0, то ширина_символа = ширине gif |
| !^картинка.text(x;y)[текст_надписи] AS_IS | !^картинка.text(x;y)[текст_надписи] AS_IS |
| !^картинка.length[текст_надписи] AS_IS | !^картинка.length[текст_надписи] AS_IS |
| !^картинка.gif[] -- кодирует в FILE с content-type=image/gif | !^картинка.gif[возможно, имя файла] -- кодирует в FILE с content-type=image/gif |
| имя файла будет использовано при $response:download | |
| !^картинка.arc(center x;center y;width;height;start in degrees;end in degrees;color) | !^картинка.arc(center x;center y;width;height;start in degrees;end in degrees;color) |
| !^картинка.sector(center x;center y;width;height;start in degrees;end in degrees;color) | !^картинка.sector(center x;center y;width;height;start in degrees;end in degrees;color) |
| !^картинка.circle(center x;center y;r;color) | !^картинка.circle(center x;center y;r;color) |
| Line 656 Xhashfile | Line 663 Xhashfile |
| !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif | !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif |
| math | !math |
| !$math:PI | !$math:PI |
| !^math:round floor ceiling | !^math:round floor ceiling |
| !^math:trunc frac | !^math:trunc frac |
| Line 666 math | Line 673 math |
| !^math:degrees radians | !^math:degrees radians |
| !^math:pow sqrt | !^math:pow sqrt |
| !^math:random(ширина диапазона) | !^math:random(ширина диапазона) |
| ^math:GUID {C2C0983C-E26E-4169-BD07-77ECE9405BA5} | !^math:uuid[] |
| 22C0983C-E26E-4169-BD07-77ECE9405BA5 | |
| win32: пользуется cryptapi | |
| unix: пользуется /dev/urandom, | |
| если нет, /dev/random, | |
| если нет, rand | |
| [на solaris /dev/random можно добавить] | |
| !^math:uid64[] | |
| BA39BAB6340BE370 | |
| !^math:md5[string] | |
| выдает digest строки, длиной 16 байт в виде строки, | |
| где байты digest выданы в hex виде, впритык, в нижнем регистре | |
| !^math:crypt[password;salt] | !^math:crypt[password;salt] |
| salt prefix $apr1$ вызывает встроенный MD5 алгоритм, | salt prefix $apr1$ вызывает встроенный MD5 алгоритм, |
| если нет тела salt, оно создаётся случайным | если нет тела salt, оно создаётся случайным |
| Line 688 math | Line 706 math |
| для удобного создания по значению из базы | для удобного создания по значению из базы |
| формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]] | формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]] |
| формат2: %H:%M[:%S] | формат2: %H:%M[:%S] |
| !$date.year month day hour minute second weekday yearday(0...) daylightsaving | !^date::unix-timestamp() |
| !^date.unix-timestamp[] | |
| !$date.year month day hour minute second weekday yearday(0...) daylightsaving TZ | |
| read-only | read-only |
| TZ="" << локальная зона | |
| !^date.roll[year|month|day](+-смещение) сдвигает дату | !^date.roll[year|month|day](+-смещение) сдвигает дату |
| !^date.roll[TZ;Новая зона] говорит, что дата в таком-то часовом поясе: влияет на .hour&co | |
| !^date.sql-string[] %Y-%m-%d %H:%M:%S | !^date.sql-string[] %Y-%m-%d %H:%M:%S |
| where published='$дата.sql-string[]' | where published='$дата.sql-string[]' |
| !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу | !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу |
| Line 919 xdoc(xnode) | Line 941 xdoc(xnode) |
| !$status:memory hash | !$status:memory hash |
| !used | !used |
| Return the number of bytes in the heap. Excludes collector private | |
| data structures. Includes empty blocks and fragmentation loss. | |
| Includes some pages that were allocated but never written. | Includes some pages that were allocated but never written. |
| !free | !free |
| Return a lower bound on the number of free bytes in the heap. | |
| !since_compact | !ever_allocated_since_compact |
| Return the number of bytes allocated since the last collection. | Return the number of bytes allocated since the last collection. |
| !process | !ever_allocated_since_start |
| Return the total number of bytes allocated in this process. | Return the total number of bytes [EVER(c)PAF] allocated in this process. |
| Never decreases. | Never decreases. |
| Line 978 xdoc(xnode) | Line 997 xdoc(xnode) |
| !это можно отключить, передав | !это можно отключить, передав |
| !$.any-status(1) | !$.any-status(1) |
| !$.charset[кодировка удалённых докуметов по-умолчанию] << если сервер вернёт content-type:charset=ОНА_ПЕРЕБИВАЕТ | !$.charset[кодировка удалённых докуметов по-умолчанию] << если сервер вернёт content-type:charset=ОНА_ПЕРЕБИВАЕТ |
| !file::load в дополнительные поля записывает ПОЛЕ:значение (имена полей ответа заглавными буквами) | !file::load в дополнительные поля записывает |
| !ПОЛЕ:значение (имена полей ответа заглавными буквами) | |
| !tables << хеш их ПОЛЕ->table с единственным столбцом "value". | |
| в таких таблицах можно брать повторяющиеся заголовки. например, несколько set-cookies | |
| todo:сделать отдельный cookies | |
| !системные типы ошибок: | !системные типы ошибок: |
| !parser.compile ^test[} компиляция (непарная скобка, ...) | !parser.compile ^test[} компиляция (непарная скобка, ...) |