|
|
|
|
|
для: cheops
(19.09.2006 в 15:41)
| | Спасибо всем кто поучаствовал...
теперь то работает так как надо , по крайней мере других баг не нашел пока....
Удачи!!!! | |
|
|
|
|
|
|
|
для: saiman
(19.09.2006 в 15:30)
| | Попробуйте действительно убрать модификатор U
<?php
$var="id2||some text
id3||some text
id4||some text";
$pattern = "#(.+?)([\d]+)(\|\|[^\n]+(\n|\b))#ie";
$var = preg_replace($pattern, "'$1'.($2 - 1).'$3'", $var);
echo "<pre>";
echo $var;
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: saiman
(19.09.2006 в 15:30)
| | Можно убрать модификатор ' U ', здесь должно работать и без него | |
|
|
|
|
|
|
|
для: cheops
(18.09.2006 в 19:26)
| | спасибо большое за помощь , действительно работает ,...
но есть обна бага... уменьшается не число в целом, а последняя цифра , поэтому проблема возникает когда последняя цифра "ноль" например число 20 .. выдает как : 2-1, тоесть просто от "0" отнимает -1, а не от 20 -ти ... если есть идеи подскажи как исправить регулярное выражение | |
|
|
|
|
|
|
|
для: saiman
(18.09.2006 в 18:42)
| | Собственно можно без цикла обойтись
<?php
$var="id2||some text
id3||some text
id4||some text";
$pattern = "#(.+?)([\d]+)(\|\|[^\n]+(\n|\b))#Uie";
$var = preg_replace($pattern, "'$1'.($2 - 1).'$3'", $var);
echo "<pre>";
echo $var;
echo "</pre>";
?>
|
PS Такие темы лучше сразу размещать на форуме "Регулярные выражения". | |
|
|
|
|
|
|
| есть переменная что то в роде:
$var="id2||some text
id3||some text
id4||some text";
тоесть несколько строк в каждой из которых есть свой уникальный порядковый номер (id)
мне надо не меняя структуры строк и содержания "some text" изменять только id, например уменьшить все id на еденицу :
id1||some text
id2||some text
id3||some text
Пробовал через регулярные выражения (ereg_replace) и цикл for но выдает не то что мне надо ...
Заранее благодарен....... | |
|
|
|
|