![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Zipo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 4.11.2003 Репутация: нет Всего: 0 |
Господа, всегда интересовало, как можно регулярными врыражениями (или другим сопсобом) подсветить строку в кавычках. А сейчас вот сделать нужно.
Из string contained 'parameter, with slashed\' and some more string' 11 Сделать это string contained <span>'parameter, with slashed\' and some more string'</span> 11 Проблема кроется в кавычке, которая под слешом - \', как обойти такие моменты?
|
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
код был кривой, извиняюсь
Вот так:
Это сообщение отредактировал(а) Canarat - 14.4.2008, 16:27 |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Canarat, не все так просто, если будет так:
то подсветка закончиться на with slashed\' |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Да, к тому же:
1. кавычки тоже в спан захватываются 2. в первой строке и ";" выделяется. Это сообщение отредактировал(а) gta4kv - 14.4.2008, 16:52 |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
gta4kv, так в примере топикстартера он тоже апострОфы захватывает в спан
|
|||
|
||||
| Zipo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 4.11.2003 Репутация: нет Всего: 0 |
Спасибо за вариант, проблемы у него есть как и написал gta4kv при появлении слеша
Например так:
Есть конечно глупый вариант это заменить предварительно \' на что-то вроде ~!~ произвести подсветку, и потом обратно поменять ~!~ на \', но не думаю, что такой подход у производителей редакторов |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
О каких редакторах идет речь?
Вообще, если горит - тут проще использовать метод конечных автоматов:
Если регулярными выражениями не получается. Но такая громоздкая функция для достаточно простой операции не рекомендуется |
|||
|
||||
| webevt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 5.5.2005 Репутация: нет Всего: 3 |
Не вчитывался в тему, но по-моему вам подойдет preg_quote(). Ненужная кавычка заэкранируется и не будет учитываться регуляркой..
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
webevt, preg_quote по смыслу тут не подойдет.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Не столько сложная, сколько запутанная регулярка получается (из-за экранирования экранирующих символов)
Добавлено через 4 минуты и 17 секунд ksnk, вариант с обратными ссылками хороший. Единственное вы не учли что может сначала встретится экранирующая кавычка. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |