![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
DmbITpo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
Здравствуйте. Столкнулся с задачей написания регулярки. Но никак не получается корректно выполнить. Всё близко, близко да не то. Может кто поможет. условие такое:
Надо из строк типа {g text="hello words" prefix="title"} {g text="hello "new" words" prefix="title"} {g text="hello mine's "new"words" prefix="title"} {g text="hello my words"} {g text="hello my "words""} вытащить всё, что находится между text="..." (т.е. получить ...). Но учесть, что внутри кавычек могут быть другие кавычки... Может есть какие варианты? заранее спасибо! Это сообщение отредактировал(а) DmbITpo - 23.1.2012, 18:23 |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
А в prefix могут быть кавычки? Какие-то еще ключи бывают кроме text и prefix?
|
|||
|
||||
DmbITpo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
в префиксе кавычек быть не может. Но кроме префикса могут быть ещё любые другие аргументы... |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
Вот в этом вся проблема Раздели задачу на 2 этапа 1. Обрезай все ключи кроме text 2. Получай текстовое описание, таким образом "#text=\"(.+)"\#" |
|||
|
||||
Nigel |
|
|||
познаю мир ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 20.11.2007 Репутация: нет Всего: 19 |
как-то так
пустые строчки, надеюсь, сам сможешь убрать. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 1 Всего: 386 |
DmbITpo, а что нужно-то? выковырять значение атрибута text или получить комплект всех атрибутов тега G? В значение атрибута может встретится символ '='? Значение атрибута обязательно заключено в кавычки?
Если нужно только закавыченное значение text, и = в значении не бывает то такая регулярка будет короче, чем у Nigel
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |