首頁 >後端開發 >php教程 >php結合正規取得字串中數字的幾種方法

php結合正規取得字串中數字的幾種方法

墨辰丷
墨辰丷原創
2018-06-09 15:32:122657瀏覽

本篇文章主要介紹php結合正規取得字串中數字的幾種方法,有興趣的朋友參考下,希望對大家有幫助。

php結合正規取得字串中數字

<?php
  $patterns = "/\d+/"; //第一种
  //$patterns = "/\d/";  //第二种
  $strs="left:0px;top:202px;width:90px;height:30px";
  preg_match_all($patterns,$strs,$arr);
  print_r($arr);
   
/***************运行结果*********************/ 
//第一种
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 取得指定字串的數字$a="時代發123生的12345678發生的"; 給一個函數能抓取到$ a中的數字12345678,如果沒有,則回傳0
要寫好函數,
1.只符合長度位8的數字
2.如果找到則回傳改數字,如果沒有則回傳0

function a($str){
return preg_match(&#39;/([0-9]{8})/&#39;,$str,$a) ? $a[1] : 0;
}

在網路上搜尋到這個測試一下發現還可以,但是如果字元長度不d{4} 不定長就不行了

function findNum($str=&#39;&#39;){
 if(empty($str)){return &#39;&#39;;}
 $reg=&#39;/(\d{4}(\.\d+)?)/is&#39;;//匹配数字的正则表达式
 preg_match_all($reg,$str,$result);
 if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
 return $result[1][0];
 }
 return &#39;&#39;;
}

後來又發現知道中有一個

$str=trim($str);
 if (preg_match(&#39;|(\d+)|&#39;,$str,$r)) return $r[1];

發現這個可以取得任意連續長度的數字了,當然在網路上還看到很多,但有一個可以了所以就沒有再測試了。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php範本與js上傳外掛程式結合實作無刷新上傳的方法

php數字及數字運算驗證碼

php實作json編碼轉換的方法

以上是php結合正規取得字串中數字的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn