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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> парс тега <img> для lightbox 
:(
    Опции темы
leemp
Дата 9.11.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.10.2008
Где: Ростов-на-Дону

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



Здравствуйте, обращаюсь за помощью. не могу составить паттерн (php). есть текст, где нужно заменить все

Код
<img src="path/to/image.jpg" alt="" />


на

Код
<a href="path/to/image.jpg" rel="lightbox"><img src="path/to/image.jpg" alt="" /></a>



(встраиваю lightbox, что очевидно) Заранее благодарен.
PM MAIL WWW ICQ Skype Jabber   Вверх
patap
Дата 9.11.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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





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


Новичок



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

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



не совсем понял как сделать через str_replace() 
мой вариант preg_replace
Код

        $img = '<img src="path/to/image.jpg" alt="" />';
        $path_pattern = "([a-zA-Z\/.]+)";
        $pattern = "/<img +src=\\\"$path_pattern\\\" +(?:alt=\\\"\\\")* *\/>/";
        $link = preg_replace($pattern, "<a href=\"$1\" rel=\"lightbox\">$0</a>", $img);


это на скоруюю руку, нужно более конкретно знать исходящий текст. Но суть я передал
PM MAIL   Вверх
skyboy
Дата 10.11.2009, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



не совсем понятно, зачем нужна будет конструкция 
Цитата(leemp @  9.11.2009,  15:31 Найти цитируемый пост)
<a href="path/to/image.jpg" rel="lightbox"><img src="path/to/image.jpg" alt="" /></a>

: чтоб в lightbox показывать то, что и так уже видно?
и второй вопрос: а почему нельзя сделать преобразования на стороне клиента? например, средствами jQuery?
PM MAIL   Вверх
challengerkz
Дата 29.2.2012, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(leemp @ 9.11.2009,  16:31)
Здравствуйте, обращаюсь за помощью. не могу составить паттерн (php). есть текст, где нужно заменить все

Код
<img src="path/to/image.jpg" alt="" />


на

Код
<a href="path/to/image.jpg" rel="lightbox"><img src="path/to/image.jpg" alt="" /></a>



(встраиваю lightbox, что очевидно) Заранее благодарен.

Встал почти аналогичный вопрос
PM MAIL WWW   Вверх
Gold Dragon
Дата 15.3.2012, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



где-то так
Код

$text = '<img src="path/to/image.jpg" alt="" />';
$regex = '#<img[^>]*src=(["\'])([^"\']*)\1[^>]*>#is';

preg_match($regex, $text, $matches);
$link =  '<a href="'.$matches[2].'" rel="lightbox">'.$text.'</a>';

echo $link;



Добавлено @ 22:11
ну или так

Код

$text = '<img src="path/to/image.jpg" alt="" />';
$regex = '#<img[^>]*src=(["\'])([^"\']*)\1[^>]*>#is';

$link = preg_replace($regex,"<a href=\"\\2\" rel=\"lightbox\">".$text."</a>",$text);

echo ($link);



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


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


 




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


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

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