Код (PHP): <?php //На входе данные следующего упрощённого вида. $val = ' <tr> <td></td> </tr> <tr> <td></td> </tr> '; //Как на выходе получить? $new_val = ' <tr> <td>1</td> </tr> <tr> <td>2</td> </tr> '; $pattern = '/()/'; //print str_replace('', ++$i, $val, 1).'<hr>'; //закоментировал, т.к. умирает. print str_replace('', ++$i, $val).'<hr>'; //понятное дело, что заменяет все на 1,1,1..., а надо на 1,2,3.. //print preg_replace($re, $replacement, $val, 1, 1).'<hr>'; //закоментировал, т.к. умирает. print preg_replace($re, $replacement, $val).'<hr>'; //понятное дело, что заменяет все на 1,1,1..., а надо на 1,2,3.. ?> Хотел циклом запустить str_replace('<!--i-->', ++$i, $val, 1), чтобы каждый раз был i больше, но php умирает. PHP Version 5.2.4 Denwer
Re: Как из "<td>i</td><td>i</td>" сделать "<td>1</td><td>2</ Часть символ регулярки нужно экранировать, возможно из за этого PHP умирает
Re: Как из "<td>i</td><td>i</td>" сделать "<td>1</td><td>2</ viewtopic.php?f=36&t=56231 - почитайте топик, там несколько красивых решений и обсуждение процесса
Re: Как из "<td>i</td><td>i</td>" сделать "<td>1</td><td>2</ Спасибо mkramer! Использовать preg_replace_callback я тоже пробовал и тоже самое PHP умирал. Решил, что это как-то странно всё. Пошёл на denwer.ru, скачал новую версию, где PHP 5.3.13, и preg_replace_callback заработал. str_replace() с указанием максимального кол-ва замен всё равно умирает. Но проблема решена благодаря preg_replace_callback.