php结合正则获取字符串中数字

yipeiwu_com5年前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('/([0-9]{8})/',$str,$a) ? $a[1] : 0;
}

在网上搜索到这个测试一下发现还可以,但是如果字符长度不d{4} 不定长就不行了

function findNum($str=''){
 if(empty($str)){return '';}
 $reg='/(\d{4}(\.\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 '';
}

后来又发现知道中有一个

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

发现这个可以获取任意连续长度的数字了,当然在网上还看到很多,但有一个可以了所以就没有再测试了。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)

本文实例总结了PHP目录与文件操作技巧。分享给大家供大家参考,具体如下: Demo1.php <?php //将一个路径赋给一个变量 //它目前来说,只是一个字...

php 广告调用类代码(支持Flash调用)

调用方式如下:其中DebugStr这个函数就是类似一个echo。 复制代码 代码如下: DebugStr('$Adv->getContentById($id); $id为广告编号,...

php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)

php使用ftp实现文件上传代码片段: <?php /** * ftp上传文件类 */ class Ftp { /** *...

Mac下关于PHP环境和扩展的安装详解

一直使用windows和Centos进行开发,之前公司配了Mac本,放家里吃灰了一年,新公司还是Mac,无奈只好从头摸索。 php安装主要使用brew,请注意 由于git上原homebr...

php上传图片获取路径及给表单字段赋值的方法

本文实例讲述了php上传图片获取路径及给表单字段赋值的方法。分享给大家供大家参考,具体如下: 1. 调用方法例子: 大图路径: <input type="text" name...