第一種方法:
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; } ?>
效果跟上面一樣!
特別謝謝此文的原作者。