我有一个很多字符串,类似 “王先生1578”、“陈先生”那我想把最右边的数字提取出来,并加上1,不知道应该怎么做?请诸位大侠帮忙。 $patterns = "/\d+$/";
preg_match_all($patterns,$str,$arr); if (empty($arr))
{ $i=2; }
else
{
$s=$arr[0][0]; //好像这行会出错。
$i=$s+1; }这行出错显示“Notice: Undefined offset: 0 in E:”请诸位大侠给一个好的算法
preg_match_all($patterns,$str,$arr); if (empty($arr))
{ $i=2; }
else
{
$s=$arr[0][0]; //好像这行会出错。
$i=$s+1; }这行出错显示“Notice: Undefined offset: 0 in E:”请诸位大侠给一个好的算法
echo preg_replace_callback("/(\d+)/", "r", $str);function r($matches) { return $matches[1]+1; }
$str = "王先生1578王先生15王先生17王先生18王先生578";
echo preg_replace_callback("/(\d+)/", "r", $str);function r($matches) { return $matches[1]+1; }
你把你的那修改为$patterns = "/(\d+)$/";试试
不要修改成 $patterns = "/(\d+)$/" 这样不行去掉$