[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена строки
RCuPeR
Есть полноценная статья с картинками. Нужно все фотографии обернуть в ссылки на эту же картинку.

Не вьеду как правильно сделать...




$string = '
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-1.jpg" alt="" width="160" /> 
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-2.jpg" alt="" height="107" /> 
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-3.jpg" alt="" height="107" />

<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-4.jpg" alt="" width="160" /> 
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-6.jpg" alt="" height="120" /> 
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-18.jpg" alt="" height="120" />
'
;

preg_match_all('/\<img src=\"(.*)\"/isU', $string, $match);

foreach($match[1] as $value){
$pattern = '/<img src="/';
$replace = '<a href="'.$value.'"><img src="';


}

$text = preg_replace($pattern, $replace, $string);

$pattern2 = '/" \/>/';
$replace2 = '" /></a>';
$result = preg_replace($pattern2, $replace2, $text);

echo $result;


В результате получаю ссылки с последним результатом.
А нужно по-очереди.



Спустя 7 минут, 34 секунды (19.07.2011 - 15:29) Sanchopansa написал(а):
попробуй так:
$text = preg_replace('#<img[^>]*src="([^"]+)"[^>]*>#isU', '<a href="$1"><img src="$1" /></a>',$text);

Спустя 2 минуты, 25 секунд (19.07.2011 - 15:32) RCuPeR написал(а):
biggrin.gif Большое спасибо, пора регулярки учить(

Спустя 47 минут, 21 секунда (19.07.2011 - 16:19) RCuPeR написал(а):


preg_replace(
'#<img[^>]*src="([^"]+)"[^>]*width="([^*]+)"[^>]*alt="([^* ]+)"[^>]*>#isU',
'<a href="$1" rel="lightbox"><img src="$1" width="$2" alt="$3"></a>',
$string



Почему-то не работает (

Спустя 6 минут, 56 секунд (19.07.2011 - 16:26) waldicom написал(а):
RCuPeR,
давайте, пожалйста, темам нормальные названия. У Вас уже 5 предупреждений, будем считать, что это послденяя просьба.

Спустя 5 минут, 37 секунд (19.07.2011 - 16:31) RCuPeR написал(а):
Свернутый текст
blink.gif Было вполне адекватное название. Я же там не писал "Мороженное тут".

Спустя 6 минут, 41 секунда (19.07.2011 - 16:38) killer8080 написал(а):
RCuPeR держи :)

$string = '
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-1.jpg" alt="" width="160" />
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-2.jpg" alt="" height="107" />
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-3.jpg" alt="" height="107" />

<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-4.jpg" alt="" width="160" />
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-6.jpg" alt="" height="120" />
<img src="http://ladafwd.ck.ua/wp-content/uploads/2011/07/lADA-LUKOIL-18.jpg" alt="" height="120" />
'
;
$string = preg_replace('#(<img.*src="([^"]+)"[^>]*>)#isU', '<a href="$2">$1</a>', $string);

echo nl2br(htmlspecialchars($string));


PS если в юникоде, то ещё нужно добавить модификатор u


_____________
Гнусный социопат с комплексом Бога.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.