Заменить последнее совпадение

ast-ross

Новичок
Заменить последнее совпадение

Помогите решить такую проблему:
есть строка типа:
$str="<td><img src=1.gif></td><td><img src=1.gif></td><td><img src=1.gif></td>";
надо последний <img src=1.gif> заменить на <img src=2.gif> (количество <td><img src=1.gif></td> динамично)
Пожалуйста если возможно, с примером.
 

young

Новичок
Как спросил, так и ответил
PHP:
<?php
$str = "<td><img src=1.gif></td><td><img src=1.gif></td><td><img src=1.gif></td>";
$str = preg_replace("/<img src=1.gif><\/td>$/", "<img src=2.gif></td>", $str);
echo $str;
?>
Но я считаю, что если у тебя возникла такая задача, значит ты что-то до этого делал неправильно
 

vladax

Новичок
Но я считаю, что если у тебя возникла такая задача, значит ты что-то до этого делал неправильно
Может, ему достался статичный сайт по наследству... и на каждой странице такая вот заморока...
 

ast-ross

Новичок
Автор оригинала: young
Как спросил, так и ответил
PHP:
<?php
$str = "<td><img src=1.gif></td><td><img src=1.gif></td><td><img src=1.gif></td>";
$str = preg_replace("/<img src=1.gif><\/td>$/", "<img src=2.gif></td>", $str);
echo $str;
?>
Но я считаю, что если у тебя возникла такая задача, значит ты что-то до этого делал неправильно
А разве при таком раскладе он не все вхождения заменит?
 

young

Новичок
А разве при таком раскладе он не все вхождения заменит?
нет
Это обеспечивает символ $
PS: Перед ним слеш не нужен, он был добавлен самим "форумом" при посте моего сообщения
 

vladax

Новичок
PS .= Это разумеется при условии, если у тебя строка так заканчивается /<img src=1.gif><\/td>\$/
 
Сверху