ru:devel:parser
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
ru:devel:parser [2016-05-08 07:07] – [Преобразователь] Ссылки 84.142.137.15 | ru:devel:parser [2016-07-27 23:03] – [Обработчик] 93.74.81.132 | ||
---|---|---|---|
Строка 330: | Строка 330: | ||
-'' | -'' | ||
-'' | -'' | ||
- | -'' | + | -'' |
-'' | -'' | ||
-'' | -'' | ||
Строка 1059: | Строка 1059: | ||
$Renderer = & new Doku_Renderer_XHTML(); | $Renderer = & new Doku_Renderer_XHTML(); | ||
- | # Здесь загрузите в преобразователь данные типа смайлов | + | # Здесь загрузите в преобразователь данные |
// Проходимся по всем инструкциям | // Проходимся по всем инструкциям | ||
Строка 1086: | Строка 1086: | ||
$Parser-> | $Parser-> | ||
- | // Загружаем режимы, | + | // Загружаем режимы, |
+ | // которая может быть принята за заголовок | ||
$Parser-> | $Parser-> | ||
$Parser-> | $Parser-> | ||
Строка 1110: | Строка 1111: | ||
$instructions = $Parser-> | $instructions = $Parser-> | ||
- | // Используем эти переменные, | + | // Используем эти переменные, |
+ | // находимся ли мы внутри необходимого фрагмента | ||
$inSection = FALSE; | $inSection = FALSE; | ||
$startPos = 0; | $startPos = 0; | ||
Строка 1225: | Строка 1227: | ||
</ | </ | ||
- | **Замечание: | + | **Замечание: |
==== Проверка ссылок на спам ==== | ==== Проверка ссылок на спам ==== | ||
Строка 1407: | Строка 1409: | ||
==== Добавление синтаксической конструкции ==== | ==== Добавление синтаксической конструкции ==== | ||
- | **Предупреждение: | + | **Предупреждение: |
Простая задача по модификации парсера: | Простая задача по модификации парсера: | ||
Строка 1471: | Строка 1473: | ||
// ... | // ... | ||
| | ||
- | // $match - строка, | + | // $match - строка, |
+ | // | ||
// $state идентифицирует тип совпадения (см. выше) | // $state идентифицирует тип совпадения (см. выше) | ||
// $pos - индекс байта первого символа совпадения в исходном документе | // $pos - индекс байта первого символа совпадения в исходном документе | ||
Строка 1493: | Строка 1496: | ||
$this-> | $this-> | ||
| | ||
- | // Если у закладки нет годного имени, пропускаем | + | // Если у закладки нет годного имени, |
- | // through unmodified as plain text (cdata) | + | // |
} else { | } else { | ||
| | ||
Строка 1748: | Строка 1751: | ||
Этот синтаксис позволяет искать страницы вики и находить вопросы, | Этот синтаксис позволяет искать страницы вики и находить вопросы, | ||
- | Особенностью данного синтаксиса является то, что он должен отображаться в отдельном блоке документа (например, | + | Особенностью данного синтаксиса является то, что он должен отображаться в отдельном блоке документа (например, |
Режим парсера для этого синтаксиса может быть таким: | Режим парсера для этого синтаксиса может быть таким: | ||
Строка 2127: | Строка 2130: | ||
После таблицы | После таблицы | ||
- | Без сканирования текста множества раз (некая разновидность «предварительных» операций, | + | Без сканирования текста множества раз (некая разновидность «предварительных» операций, |
==== Проблемы списков, | ==== Проблемы списков, |
ru/devel/parser.txt · Последнее изменение: 2016-07-27 23:05 — 93.74.81.132