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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите паттерн составить - не получается 
:(
    Опции темы
Frozen_Coyote
  Дата 10.4.2012, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

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



Добрый день,

у меня есть паттерн

Код

$txt1 = preg_replace_callback("/<img\s.+?(float:\s(left|right))?.+?id=[\"']?(.+?)[\"']?.+?title=[\"']?(.+?)[\"']?>/iu", "callBack", $txt);


он отрабатывает неправильно, смысл его таков:

идет "осмотр" всех картинок, которые есть в неком текстовом массиве, интересуют не все картинки, а те у которых есть во первых: ид, которое заканчивается на .flv - остальные картинки не интересны. Во всех этих вот картинках, у которых ид заканчивается на .flv нужно узнать title и проверить потенциальное наличие аттрибута style, а точнее css - свойства float. И найденную картинку передать в коллбэк функцию на предмет обработки оформления для вывода. Моя логика вот тут не заработала,  в частности неясноть возникает с вопросиком после left|right - предполагалось, что эта конструкция в скобках может как быть - так и не быть. Но на проверку выходит что если вопросик есть - картинка с наличествующим float в патерн подходит, а вот если float нет - то паттерн ее не видит, хотя по идее ему сказали, что float как может быть, так может и не быть. В чем косяк, друзья?

Спасибо
PM MAIL   Вверх
Wolf1994
Дата 11.4.2012, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Проверьте другие отличия / содержимое callBack.

Ваш код с данным условием работает правильно:

Код

preg_match ("/<img\s.+?(float:\s(left|right))?.+?id=[\"']?(.+?)[\"']?.+?title=[\"']?(.+?)[\"']?>/iu", '<img src="" style="float:left" id="1" title="title1" />', $t_ar);
print_r ($t_ar);

preg_match ("/<img\s.+?(float:\s(left|right))?.+?id=[\"']?(.+?)[\"']?.+?title=[\"']?(.+?)[\"']?>/iu", '<img src="" id="2" title="title1" />', $t_ar);
print_r ($t_ar);

/*
Array
(
    [0] => <img src="" style="float:left" id="id2" title="title1" />
    [1] => 
    [2] => 
    [3] => 1
    [4] => title1" /
)
Array
(
    [0] => <img src="" id="id2" title="title1" />
    [1] => 
    [2] => 
    [3] => 2
    [4] => title1" /
)
*/

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


 




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


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

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