Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: парс тега <img> для lightbox
 
 автор: LimP   (09.11.2009 в 16:19)   письмо автору
 
 

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

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


на

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


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

  Ответить  
 
 автор: cheops   (09.11.2009 в 19:13)   письмо автору
 
   для: LimP   (09.11.2009 в 16:19)
 

Можно отталкиваться от следующего скрипта
<?php
  $str 
'Здравствуйте, обращаюсь за помощью. не могу составить
  паттерн. есть текст, где нужно заменить все 
  <img src="path/to/image.jpg" alt="" /> (встраиваю lightbox,
  что очевидно) Заранее благодарен.'
;

  
$pattern "|<img src=\"([^\"]+)\"[^>]+>|is";
  
$replacement '<a href="\\1" rel="lightbox"><img src="\\1" alt="" /></a>';
  
$str preg_replace($pattern$replacement$str);
  echo 
$str;
?>

  Ответить  
 
 автор: LimP   (10.11.2009 в 02:53)   письмо автору
 
   для: cheops   (09.11.2009 в 19:13)
 

большое спасибо, это то что нужно.

  Ответить  
 
 автор: LimP   (11.11.2009 в 15:21)   письмо автору
 
   для: cheops   (09.11.2009 в 19:13)
 

подскажите пожалуйста паттерн, который сохранял бы все следующие атрибуты тега <img> такие как width, height и прочее.

т.е. дано:
<img src="path/to/image.jpg" alt="alternative text" width="100" height="877" style="blabla: red;" ... />


преобразовать в:
<a href="path/to/image.jpg" rel="lightbox"><img src="path/to/image.jpg" alt="alternative text" width="100" height="877" style="blabla: red;" ... /></a>

  Ответить  
 
 автор: LimP   (11.11.2009 в 18:31)   письмо автору
 
   для: LimP   (11.11.2009 в 15:21)
 

вопрос снят. не дождался, сделал своими силами.


$pattern = '|<img src="(.*?)"(.*?)>|i';
$replacement = '<a href="\1" rel="lightbox"><img src="\1"\2></a>';
$short = preg_replace($pattern, $replacement, $short);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования