|
|
|
|
|
для: .....
(03.11.2010 в 17:22)
| | vadimka, А ты попробуй использовать preg_replace_callback(); | |
|
|
|
|
автор: ..... (03.11.2010 в 17:22) |
|
|
для: vadimka
(03.11.2010 в 13:40)
| | похоже без sprintf() особо красиво и не сделать такое.
Можно впринципе вместо ([0-9])([0-9]) подсунуть sprintf'у сразу все цифры (\d+) , но Вам виднее.
и ([\.jpg]) это один символ из набора символов. Возможно тоже можно (\.jpg) | |
|
|
|
|
|
|
|
для: vadimka
(03.11.2010 в 13:21)
| | Вроде получилось так:
$str= "05.jpg";
echo $str."<br>";
$pattern="#([0-9])([0-9])([\.jpg])#ise";
$str1=preg_replace($pattern, "sprintf('%01d', $1).($2 +1).'$3'", $str );
echo $str1."<br>";
|
правильно? | |
|
|
|
|
|
|
|
для: vadimka
(03.11.2010 в 13:08)
| | Вообще ничего не понимаю, если вставить $str= "35.jpg"; то первая цифра появляется почему ноль система не видит? | |
|
|
|
|
|
|
|
для: vadimka
(02.11.2010 в 18:39)
| | Пишу так:
$str= "05.jpg";
echo $str."<br>";
$pattern="#([\d])([\d])([\.jpg])#ise";
$str1=preg_replace($pattern, "\\1\\2+1\\3", $str );
echo $str1."<br>";
|
но выдает: 6jpg
почему пропадает 0 и точка? | |
|
|
|
|
|
|
| Здравствуйте!
у меня такая строка:05.jpg ее надо увеличить на единицу, делаю так, но не получается
<?
$str= "05.jpg";
echo $str."<br>";
$pattern="#^([\d])([\d])([\.jpg])$#ise";
$str1=preg_replace($pattern, "\\1(\\2 +1)\\3", $str );
echo $str1."<br>";
?>
|
| |
|
|
|
|