abstract:這篇文章主要給大家匯總介紹了php結(jié)合正則獲取字符串中數(shù)字的幾種方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。php結(jié)合正則獲取字符串中數(shù)字<?php $patterns = "/\d+/"; //第一種 //$patterns = "/\d/";&nb
這篇文章主要給大家匯總介紹了php結(jié)合正則獲取字符串中數(shù)字的幾種方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
php結(jié)合正則獲取字符串中數(shù)字
<?php $patterns = "/\d+/"; //第一種 //$patterns = "/\d/"; //第二種 $strs="left:0px;top:202px;width:90px;height:30px"; preg_match_all($patterns,$strs,$arr); print_r($arr); /***************運(yùn)行結(jié)果*********************/ //第一種 Array ( [0] => Array ( [0] => 0 [1] => 202 [2] => 90 [3] => 30 ) ) //第二種 Array ( [0] => Array ( [0] => 0 [1] => 2 [2] => 0 [3] => 2 [4] => 9 [5] => 0 [6] => 3 [7] => 0 ) )
php 獲取指定字符串的數(shù)字 $a="時(shí)代發(fā)123生的12345678發(fā)生的"; 給一個(gè)函數(shù)能抓取到$a中的數(shù)字12345678,如果沒有,則返回0
要寫好函數(shù),
1.只匹配長(zhǎng)度位8的數(shù)字
2.如果找到則返回改數(shù)字,如果沒有則返回0
function a($str){ return preg_match('/([0-9]{8})/',$str,$a) ? $a[1] : 0; }
在網(wǎng)上搜索到這個(gè)測(cè)試一下發(fā)現(xiàn)還可以,但是如果字符長(zhǎng)度不d{4} 不定長(zhǎng)就不行了
function findNum($str=''){ if(empty($str)){return '';} $reg='/(\d{4}(\.\d+)?)/is';//匹配數(shù)字的正則表達(dá)式 preg_match_all($reg,$str,$result); if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){ return $result[1][0]; } return ''; }
后來又發(fā)現(xiàn)知道中有一個(gè)
$str=trim($str); if (preg_match('|(\d+)|',$str,$r)) return $r[1];
發(fā)現(xiàn)這個(gè)可以獲取任意連續(xù)長(zhǎng)度的數(shù)字了,當(dāng)然在網(wǎng)上還看到很多,但有一個(gè)可以了所以就沒有再測(cè)試了。
更多關(guān)于php結(jié)合正則獲取字符串中數(shù)字請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!