![]() |
|
![]() ![]() ![]() |
|
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Пишу веб-редактор, с упрощенной разметкой.
Одной из функций будет автоматическая расстановка кавычек, то есть
Как, на ваш взгляд, лучше всего определить, открывающая или закрывающая кавычка поставлена? |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
скормить предложение тёминому типографу ![]() Общее правило - если за кавычкой идет непробельный символ - кавычка открывающая, если пробельный или знак пунктуации - закрывающая. Ну и просчитать открывающие-закрывающие кавычки с начала текста бывает нужно... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Жаль, у него код не открыт)
Тут есть исключения, например когда предложение начинается с ..., или за закрывающей ) |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
надежнее будет считать кавычки
|
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Считать конечно стоит, для предотвращения ошибок, но сам по себе подсчет не сможет определить, где открывающая кавычка, а где закрывающая.
Это сообщение отредактировал(а) Logo - 8.9.2010, 20:19 |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
![]() Это сообщение отредактировал(а) nmn - 8.9.2010, 21:37 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
В каких позициях, говоришь, открывающие кавычки? |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
хехе, точно, ну тогда придется просматривать весь текст, чтобы сложить кавычки в пары
|
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
И вот еще - стоит ли использовать конвертацию в промежуточный формат, который и хранить в базе, или не стоит?
|
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Наиболее оптимальным кажется правило, если перед кавычкой стоит пробельный символ, ({[, то эта кавычка открывающая, в остальных случаях закрывающая.
Правда при такой обработке, если перед закрывающей кавычкой будет стоять пробел (в нарушение типографских правил), то CMS будет ругатся, однако, возможно, это даже к лучшему. UPD: так же открывающей считается кавычка, стоящая в начале текста, и вся последовательность кавычек, следующих за открывающей. Это сообщение отредактировал(а) Logo - 13.9.2010, 21:30 |
|||
|
||||
Polesinskij |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 31.10.2013 Репутация: нет Всего: нет |
они пишуться конечно подстетом четности колисчества, но при редакции повторной одной и той-же ковычки к счетчику четности добавляется единица как я заметил. Я об этом много думал, так-как стопы и старты кодона идентичны по сути ковычкам и их надо считать в особых счетчиках.
![]() |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Маленькие добавление: Надо проверять и символы идущие после кавычки. После открывающей ковычки должена стоять буква, цифра или один из разрешенных знаков препинания, в зависимости от языка. Так, в русском, может стоять троеточие, в испанском знак вопроса, судя по всему, и т.д. После закрывающей должен идти пробел или, опять же, один из разрешенных знаков препинания. Немного особый случай со знаком переноса строки. В обычном тексте кавычка может стоять как до, так и после кода новой строки. Но до только закрывающая, а после только открывающая. Особый это случай потому, что в HTML коде, кроме переноса строки, еще и тэги надо учитывать. При этом какие-то игнорировать, а какие-то (новая строка, горизонтальная линия, и т.п.) обрабатывать так же, как символ новой строки. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |