php提取字符串中的数字
第一种方法:
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return '';
}
测试结果:
<?php
$v_str_before="www.163.com"; //不好意思,此处用网易的域名举例
$v_str_after=findNum($v_str_before);
echo $v_str_before."</br>";
echo "找出数字</br>";
echo $v_str_after."</br>";
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return '';
}
?>
如图所示:

第二种方法:
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$temp=array('1','2','3','4','5','6','7','8','9','0');
$result='';
for($i=0;$i<strlen($str);$i++){
if(in_array($str[$i],$temp)){
$result.=$str[$i];
}
}
return $result;
}
测试结果:
<?php
$v_str_before="www.163.com"; //不好意思,此处用网易的域名举例
$v_str_after=findNum($v_str_before);
echo $v_str_before."</br>";
echo "找出数字</br>";
echo $v_str_after."</br>";
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$temp=array('1','2','3','4','5','6','7','8','9','0');
$result='';
for($i=0;$i<strlen($str);$i++){
if(in_array($str[$i],$temp)){
$result.=$str[$i];
}
}
return $result;
}
?>
效果跟上面一样!
第三种方法:
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$result='';
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
return $result;
}
测试结果:
<?php
$v_str_before="www.163.com"; //不好意思,此处用网易的域名举例
$v_str_after=findNum($v_str_before);
echo $v_str_before."</br>";
echo "找出数字</br>";
echo $v_str_after."</br>";
function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$result='';
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
return $result;
}
?>
效果跟上面一样!
特别谢谢此文的原作者。

浙公网安备 33010602011771号