php結(jié)合正則獲取字符串中數(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); /***************運行結(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="時代發(fā)123生的12345678發(fā)生的"; 給一個函數(shù)能抓取到$a中的數(shù)字12345678,如果沒有,則返回0
要寫好函數(shù),
1.只匹配長度位8的數(shù)字
2.如果找到則返回改數(shù)字,如果沒有則返回0
function a($str){ return preg_match('/([0-9]{8})/',$str,$a) ? $a[1] : 0; }
在網(wǎng)上搜索到這個測試一下發(fā)現(xiàn)還可以,但是如果字符長度不d{4} 不定長就不行了
function findNum($str=''){ if(empty($str)){return '';} $reg='/(\d{4}(\.\d+)?)/is';//匹配數(shù)字的正則表達式 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)知道中有一個
$str=trim($str); if (preg_match('|(\d+)|',$str,$r)) return $r[1];
發(fā)現(xiàn)這個可以獲取任意連續(xù)長度的數(shù)字了,當然在網(wǎng)上還看到很多,但有一個可以了所以就沒有再測試了。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
php中將網(wǎng)址轉(zhuǎn)換為超鏈接的函數(shù)
php中將網(wǎng)址轉(zhuǎn)換為超鏈接的函數(shù),需要的朋友可以參考下。2011-09-09php實現(xiàn)掃描二維碼根據(jù)瀏覽器類型訪問不同下載地址
本程序?qū)崿F(xiàn)的功能就是掃描同一個二維碼根據(jù)瀏覽器類型訪問不同下載地址,很實用的,建議大家學習下2014-10-10PHP5.5在windows安裝使用memcached服務端的方法
這篇文章主要介紹了PHP5.5在windows安裝使用memcached服務端的方法,需要的朋友可以參考下2014-04-04