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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить элемент из тэга: возможно ли упростить? 
V
    Опции темы
Gold Dragon
Дата 31.1.2013, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



задача вытащить значение float из тэга..
вот примеры ссылок (возможно есть ещё варианты)
Код

 $value[0] = array(
          '<img style="width:1024px;height:512px;float : right" src="http://solotin.qqq/images/stories/admin/untitled/image_png.png" />',
          '<img style="width:1024px;float:right;height:512px;" src="http://solotin.qqq/images/stories/admin/untitled/image_png.png" />',
          '<img style="float: right;width:1024px;height:512px;" src="http://solotin.qqq/images/stories/admin/untitled/image_png.png" />',
          '<img style="width:1024px;height:512px;float :right" src="http://solotin.qqq/images/stories/admin/untitled/image_png.png" />'
)

вот регулярка
Код

$img_style = (preg_match('#style=(["\'])(.*?)float[\s]*:[\s]*(.*?)(;|["\'])#si', $value[0], $temp)) ? trim($temp[3]) : '';


Возможно ли как то её упростить и главное, отловит ли она все варианты?


Это сообщение отредактировал(а) Gold Dragon - 31.1.2013, 20:53


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 5
Всего: 40



мой вариант
Код

style=["\'].*?float\s*:\s*(\w+)


Добавлено через 6 минут и 40 секунд
[\s]*(.*?)(;|
у тебя под это условие пробелы попадут, которые после значения будут

Добавлено через 9 минут и 37 секунд
думаю даже такого будет вполне хватать и все наглядно
Код

float\s*:\s*(left|right|none|inherit)



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Gold Dragon
Дата 1.2.2013, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



проверил, работает. Решение симпатичнее smile заимствую... вот только наверное не \w а [a-z]? всё равное там больше букв ничего не должно быть


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 5
Всего: 40



Цитата(Gold Dragon @  1.2.2013,  12:21 Найти цитируемый пост)
наверное не \w а [a-z]

ну да, или как я выше написа через жесткие значения


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Gold Dragon
Дата 1.2.2013, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



кстати, да


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


 




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


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

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