«Этот кавычкер мой»
Смирнов спрашивает, где я взял кавычкер для e2. Я ему говорю, что мне его дали. Он говорит, — «Смешно», — типа, — «но этот кавычкер мой». Все мои попытки выяснить, с чего он это взял, он просто игнорирует. Говорю ему, типа, — «Давай пришлю тебе кавычкер e2 в незабилденном виде». Он говорит, что, дескать, — «Не сильно-то он и изменился». «Покажи», — говорю я тогда, — «свой кавычкер». «Бери регистр и смотри», — отвечает Смирнов.
Ну, я беру регистр и вижу там кавычкер, который вообще, даже примерно не похож на Helicon, который используется в e2. То есть, вообще.
Ещё раз спрашиваю Смирнова с чего он взял, он снова молчит. И теперь вот я думаю, может SiteTracker тоже не имеет никакого отношения к SpeSta, а Scrinium — к регистру? Просто Смирнов подумал, что «никто всё равно проверять не будет, напишу, что моё».
Мда.
Update:
На «возможно он имел в виду принцип» отвечаю. Принцип работы кавычкера — один:
- Выкинуть HTML;
- Расставить кавычки;
- Вернуть HTML.
Тут как бы трудно изобрести что-то новое. Можно, конечно, сначала расставить кавычки везде, а потом выкинуть их из HTML, не знаю. Но такое может прийти в голову только человеку, который
- Прочитал исходники Смирнова;
- Поставил перед собой задачу сделать в принципе по-другому.
Можно сделать по-другому, у меня сделано ;) Хотя я не ставил перед собой задачу сделать, не как у Смирнова...
У меня кавычкер сделан так.
У этого метода есть недостатки, но в основном меня устраивает.
%%function kavych($text) {
$str_len = strlen($text);
$kav = 187;
$skip = 0;
for ($i=0; $i<$str_len; $i++) {
// Не трогать внутриности тэгов
if ($text[$i] == ’<’) $skip = 1;
else if ($text[$i] == ’>’) $skip = 0;
if ($skip) continue;
if ($text[$i] == ’«’) {
$kav = 358 — $kav;
$text[$i] = chr($kav);
}
}
return $text;
}%%
Красиво, да. Особенно про %%358-$kav%% хорошо. Хоть это и использование magic numbers, которое вообще-то deprecated, но всё равно красиво :-)
Основное преимущество автомата в том, что он работает очень быстро.
Но в данном случае под кавычкером понимается вся типографика, а не только сами кавычки. Тире, многоточия, А. С. Пушкин, и так далее.