str='<b>1</b>,<b>2</b>,<b>3</b>,<b>4</b>,<b>5</b>'现在用正则表达式取<b>跟</b>中间的数。返回时只要四个值,即1-4。不要五个要怎么取?还有正则能计算吗?比如把取得的数值加1.再把值返回到STR中去。。变成str='<b>2</b>,<b>3</b>,<b>4</b>,<b>5</b>,<b>6</b>'最后一个问题。。正则取得的数组值。。能不能一次性以字符串输出?
也就是最后的值变成12345
也就是最后的值变成12345
$str = '|<b>(.*)</b>|U';
$pet = '<b>1 </b>, <b>2 </b>, <b>3 </b>, <b>4 </b>, <b>5 </b>';preg_match_all($str,$pet,$out, PREG_PATTERN_ORDER);print_r($out[0]); //$out 就是你想要的数据, 如何处理输出就简单了
还有正则能计算吗?比如把取得的数值加1.
----------------------------------
这个可以用str_replace()实现, 手册上有例子
print_r($reg[1]);
//还有正则能计算吗?比如把取得的数值加1.再把值返回到STR中去。。变成
//str=' <b>2 </b>, <b>3 </b>, <b>4 </b>, <b>5 </b>, <b>6 </b>'
echo preg_replace('/\d/e', '$0+1', $str);//最后一个问题。。正则取得的数组值。。能不能一次性以字符串输出?
//也就是最后的值变成12345
echo preg_replace('/[^\d]*(\d)[^\d]*/', '$1', $str);