preg_replace一个字符串中的整数,其中一个值更高

时间:2014-01-27 03:07:26

标签: php regex preg-replace

假如我有一个类似

的字符串
    $string = 'list12345678';

我希望它返回一个新的字符串12345679

所以preg_replace一个数字,在一个字符串中,与定义的字符串相差一个数字。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

一旦你知道了你需要的东西,这真的是微不足道的。

即,您需要的功能是preg_replace_callback

你的正则表达式必须捕获一个或多个数字。

您的回调必须返回已捕获的号码,并添加1号。

完成。

写一些代码,如果你有其他问题,请告诉我;)

答案 1 :(得分:1)

试试这个:

$s = 'list12345678.html';

function n($matches) {
  return $matches[1]+1;
}

print_r(preg_replace_callback('/[^1-9]+(\d+).*$/','n',$s));