Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить данные и атрибута тэга 
V
    Опции темы
Gold Dragon
Дата 3.2.2012, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



У меня есть строка

Код

style="float:left;width:100px;"


или
Код

style="float:left"



Мне нужно вытащить значение float

Помогите с регуляркой


я вот такое написал.. и соответственно не работает

Цитата

#float:(.*);$#i


Это сообщение отредактировал(а) Gold Dragon - 3.2.2012, 11:48


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
krundetz
Дата 3.2.2012, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Gold Dragon, я бы сделал так, вытащил атребут через библиотеку работы с DOM структуройй, дальше при помощи explode разбилбы сначала на массив (i = > 'свойство:значение'), а задет на массив ('свойство' => "значение'), чтобы не заморачиваться с нежадными регулярками

Это сообщение отредактировал(а) krundetz - 3.2.2012, 12:04


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
$дмитрий
Дата 3.2.2012, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Код

preg_match("#float:([a-z]+);?#i", 'style=" float:left;width:100px;"', $arMath);
?><pre><?
print_r($arMath);


Это сообщение отредактировал(а) $дмитрий - 3.2.2012, 12:04
PM MAIL   Вверх
Gold Dragon
Дата 3.2.2012, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



krundetz,  smile СУПЕР!!!


$дмитрий, спасибо! всё работает.. Я что я у себя не так сделал?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
krundetz
Дата 3.2.2012, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата(Gold Dragon @  3.2.2012,  12:08 Найти цитируемый пост)
что я у себя не так сделал? 

ты не указал того что нужно остановиться на первом входение ; их же может быть несколько в свойстве
Код

?


Это сообщение отредактировал(а) krundetz - 3.2.2012, 12:15


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 3.2.2012, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



только я малость добавил...
Код

#float:([a-z]+)[;\"]?#i


Добавлено через 1 минуту и 30 секунд
krundetz, вопрос не в том что оставить, а в подходе... У тебя супер навороченный. Сколько в нём нужно функций применить? smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
krundetz
Дата 3.2.2012, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата(Gold Dragon @  3.2.2012,  12:14 Найти цитируемый пост)
только я малость добавил...
Выделить всёкод PHP
1:
    
#float:([a-z]+)[;\"]?#i

что то мне говорит что ты ее сломал, счас гляну у себя

Добавлено @ 12:19
Цитата(Gold Dragon @  3.2.2012,  12:14 Найти цитируемый пост)
Сколько в нём нужно функций применить?

да я знаю два explode вместо одного preg_match, получение строки со стилями я несчитаю, так как ты же ее тоже получаешь, кстати не факт что мой вариант будет меделенее

Это сообщение отредактировал(а) krundetz - 3.2.2012, 12:19


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 3.2.2012, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



я проверил у себя. работает.. Просто окончание может быть или ; или "

Добавлено через 4 минуты и 49 секунд
анннет.. где-то промашка... не работает если стиль заканчивается двойной кавычкой



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
krundetz
Дата 3.2.2012, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата(krundetz @  3.2.2012,  12:16 Найти цитируемый пост)
счас гляну у себя

глянул, суть в принципе не меняется, но ты прав ты оставляешь двойную кавычку если искомые данные имеют вид
Код

style=" float:left"

кстати почему ты решил ее добавить? Не забудь что кавычки могут быть и одинарные.

Это сообщение отредактировал(а) krundetz - 3.2.2012, 12:28


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 3.2.2012, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



всё... туплю по полной.. пятница smile

не нужны никакие проверки на ; и "
стиль в любом случае состоит только из латинских букв и заканчивается не буквой.. так что должно полностью работать это

Код

#float:([a-z]+)#i



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
$дмитрий
Дата 3.2.2012, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Цитата

Я что я у себя не так сделал? 

$ метка обозначает конец строки. Оно не подходит под первое условие и по идеи, захватит все что после "float:"
Второе условие тоже не выполниться, потому как регулярка ищет в конце символ ";", а его нет
PM MAIL   Вверх
Gold Dragon
Дата 3.2.2012, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



$дмитрий, да, уже понял.. smile
всем спасибо.. тема закрыта

Это сообщение отредактировал(а) Gold Dragon - 3.2.2012, 12:48


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1076 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.