Ⅰ php 字符串中取整数 如: $str='12|字符串'; 从$str中去前面的12出来.
<?php
$str='12|字符串';
echo (int)$str;
//输出 12
如果你喜欢正则来解的
<?php
$str='12|字符串';
echo preg_replace('/(\d+).*/','\\1',$str);
Ⅱ PHP在字符串中截取出后三位数字并将该数字加一
<?php
$str="abcdefg001";
$num=intval(substr($str,strlen($str)-3,3))+1;
$num=sprintf("%03d",$num);
$str=substr($str,0,strlen($str)-3).$num;
echo$str;
?>
Ⅲ php怎么把字符串中的数字取出来
解决这个问题的办法,可以使用如下方法:
一、通过遍历字符串,并对字符进行判断。
二、使用正则表达式,取出数字。
Ⅳ php正则表达式字符串中提取数字,并截取其中的6位
<?php
$str='b37ba964bb7dfab1869e1cf8';
$preg="/d/is";
preg_match_all($preg,$str,$arr);
$temp=implode('',$arr[0]);
echo$temp;//匹配的数字
echo'<br/>'.substr($temp,1,4);//第2位开始取4个
echo'<br/>'.substr($temp,2,5);//第3位开始取5个
?>
Ⅳ 如何利用PHP 正则表达式从字符串中取整数
preg_match_all 方法
preg_match_all -- 进行全局正则表达式匹配 说明 int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。 搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。 flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义): PREG_PATTERN_ORDER 对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推。 <?php preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?>
出自:http://ke..com/view/2122394.htm?fr=ala0_1_1
按LZ的题就是
preg_match_all ("|\d+|U", $str, $out, PREG_PATTERN_ORDER);
最后的匹配结果在$out[0]这个数组中
Ⅵ php截取一段字符串中第一个出现的数字或字母或冒号前面的中文汉字的语句怎么写
$string=preg_replace('/([a-z0-9:])+/','',$string1);
这样就把数字 字母 冒号后面的字符串去掉了
Ⅶ php 获取字符串内特定的值
你这个数据应该是json格式。在php中,要使用json_decode()解析成对象或者数组,这样子才方便使用。不过这里有个局限,举个例子:
$bad_json="{'bar':'baz'}";//键值对,要用双引号,单引号是无效的。所以返回null。
json_decode($bad_json);//null
你这里的数据刚好就是单引号包裹键名和数值的,所以用json_decode会返回null。
解决办法:
1、严格按照json的格式来构建这个数据,这样子就很方便的使用json_decode函数了。这应该是最有好的方法。建议先尝试这个。
2、对数据进行处理,单引号转成双引号,然后使用json_decode函数。这个要自己写个处理数据的函数。这里给出一个简单的处理,只是简单的替换,未考虑数据里面所含的单引号。
$data=str_replace("'", '"', $data); // 单引号替换成双引号
$data=json_decode($data);
3、使用第三方类库