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];

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

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

(0)

相关推荐

  • php将字符串随机分割成不同长度数组的方法

    本文实例讲述了php将字符串随机分割成不同长度数组的方法.分享给大家供大家参考.具体分析如下: 这里使用php对字符串在指定的长度范围内进行随机分割,把分割后的结果存在数组里面 function RandomSplit($min, $max, $str){ $a = array(); while ($str != ''){ $p = rand($min, $max); $p = ($p > strlen($str)) ? strlen($str) : $p; $buffer = substr($

  • 支持中文的PHP按字符串长度分割成数组代码

    以下是我编写的代码,实现对中英文混杂字符进行分割: <?php function mbStrSplit ($string, $len=1) { $start = 0; $strlen = mb_strlen($string); while ($strlen) { $array[] = mb_substr($string,$start,$len,"utf8"); $string = mb_substr($string, $len, $strlen,"utf8")

  • php分割合并两个字符串的函数实例

    本文实例讲述了php分割合并两个字符串的函数.分享给大家供大家参考.具体实现方法如下: 这里实现把两个字符串进行分割合并,例如str1=aaaa,str2=bbbb,合并后生成abababab /** * Merges two strings in a way that a pattern like ABABAB will be * the result. * * @param string $str1 String A * @param string $str2 String B * @ret

  • php比较相似字符串的方法

    本文实例讲述了php比较相似字符串的方法.分享给大家供大家参考.具体分析如下: 这里通过php的similar_text函数比较两个字符串的相似性. $word2compare = "stupid"; $words = array( 'stupid', 'stu and pid', 'hello', 'foobar', 'stpid', 'upid', 'stuuupid', 'sstuuupiiid', ); while(list($id, $str) = each($words))

  • php使用指定字符列表生成随机字符串的方法

    本文实例讲述了php使用指定字符列表生成随机字符串的方法.分享给大家供大家参考.具体如下: <?php function randomString($len) { srand(date("s")); $possible="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()"; $str=""; while(strlen($str)<$

  • php简单统计字符串单词数量的方法

    本文实例讲述了php简单统计字符串单词数量的方法.分享给大家供大家参考.具体实现方法如下: <?php function word_count($sentence){ $array = explode(" ", $sentence); return count($array); } $words = word_count("The is a group of words"); echo $words; ?> 希望本文所述对大家的php程序设计有所帮助.

  • PHP函数实现从一个文本字符串中提取关键字的方法

    本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法.分享给大家供大家参考.具体分析如下: 这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现最多的词),返回一个数组或一个字符串由逗号分隔的关键字.功能正常工作,但我正在改进,因此,感兴趣的朋友可以提出改进意见. /** * Finds all of the keywords (words that appear most) on param $str * and return them

  • PHP加密解密字符串汇总

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些API数据交换的场景. 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家.加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果. 1.非常给力的authcode加密函数,Discuz!经典代码(带详解): function authcode($string, $

  • php支持中文字符串分割的函数

    str_split不支持中文,利用mb_xx函数实现个 /** * Convert a string to an array * @param string $str * @param number $split_length * @return multitype:string */ function mb_str_split($str,$split_length=1,$charset="UTF-8"){ if(func_num_args()==1){ return preg_spl

  • php为字符串前后添加指定数量字符的方法

    本文实例讲述了php为字符串前后添加指定数量字符的方法.分享给大家供大家参考.具体分析如下: 这段php代码定义了两个函数 str_prefix和str_suffix,分别用来给字符串前后添加指定数量的符号 function str_prefix($str, $n=1, $char=" "){ for ($x=0;$x<$n;$x++){$str = $char.$str;} return $str; } function str_suffix($str, $n=1, $char

随机推荐