php截取字符-php如何实现从字符串中提取数字的方法总结(代码)

本文给大家介绍的内容是关于如何在PHP中提取字符串中的数字的总结(代码)。 有一定的参考价值。 有需要的同学可以参考一下。 希望对您有所帮助。

PHP 提取字符串中的第一组数字


PHP 从字符串中提取数字的其他方法

第一种方式,使用正则表达式

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

第二种方式php截取字符,使用 in_array 方法:

function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$temp=array('1','2','3','4','5','6','7','8','9','0');
$result='';
for($i=0;$i<strlen($str);$i++){
if(in_array($str[$i],$temp)){
$result.=$str[$i];
}
}
return $result;
}

第三种方式php截取字符,使用 is_numeric 函数:

function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$result='';
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
return $result;
}

例如:

//截取字符串中的数字2
    $str ='Q币2个';
    $result='';
    for($i=0;$i<strlen($str);$i++){
        if(is_numeric($str[$i])){
            $result.=$str[$i];
        }
    }
    print_r($result);die;
    //输出结果 2

今天做项目的时候php 保存文件,有一个页面向后台请求数据。 如果要下载,则点击自动下载数据。 但是如果两次向服务器请求数据,就有点浪费服务器资源了php 保存文件,所以干脆直接将数据保存在本地浏览器中。 ,然后点击保存到本地(前面是普通文件,如果想看excel请直接跳到旁边)。

那么问题来了:如何保存呢?

先贴一下代码:

保存文件到中转站为什么失败_php 保存文件_保存文件的英文

function downLoadDataToLoc() {
        var saveDatas = getDataFromLocal("results");
        // 上面是拿到我自己的数据,数据的格式是Json字符串
        var blob = new Blob([JSON.stringify(saveDatas)], {type: 'application/json'})
        // 创建一个blob的对象,把Json转化为字符串作为我们的值
        if("msSaveOrOpenBlob" in navigator){
            // 这个判断要不要都行,如果是IE浏览器,使用的是这个,
            window.navigator.msSaveOrOpenBlob(blob, "results.txt");
        } else {    // 不是IE浏览器使用的下面的
            var url = window.URL.createObjectURL(blob)
            // 上面这个是创建一个blob的对象连链接,
            var link = document.createElement('a')
            // 创建一个链接元素,是属于 a 标签的链接元素,所以括号里才是a,
            link.href = url;    
            // 把上面获得的blob的对象链接赋值给新创建的这个 a 链接
            link.setAttribute('download', "results.txt")
            // 设置下载的属性(所以使用的是download),这个是a 标签的一个属性
            // 后面的是文件名字,可以更改
            link.click();
            // 使用js点击这个链接
        }
    }

代码效果如下:

希望这篇文章对大家有所帮助! ! ! !

未完成的需求,需求需要保存为excel格式,想要学习如何保存excel文件格式的朋友请看这里:

首先解释一下我的Json格式(如果Json格式不同,你可以根据我的代码自行更改,很简单,我将详细介绍这段代码):

php 保存文件_保存文件的英文_保存文件到中转站为什么失败

// 下面是我的Json的数据格式,注意,如果格式不同,请修改我的代码
// 可以是一个这样的字符串,但是需要大家手动格式化,使用这个函数
// json = JSON.parse(json);  但是格式化之后一定要和我的格式一样
var json ={
    "--普通人--0--朱少强的大号--2019-10-20 09:29:14--Chuckie": ["72447305"],
    "--普通人--0--朱少强的大号 的第二条--2019-10-20 11:08:37--Chuckie": ["72447305"],
    "--学生--5--QQ号,新增的--2019-10-22 14:32:57 .09683--Chuckie": ["72447305"],
    "--好人--5--QQ号,新增的--2019-10-22 14:32:57.09683--Chuckie": ["72447305"],
    "--周二测试--0--2019年10月22测试--2019-10-22 15:38:46.37403--Chuckie":[
        "72447305",
        "267525217",
        "123321",
        "123456",
        "12345"
    ],
    "--普通人--0--朱少强小号--2019-10-20 11:08:55--Chuckie": ["267525217"],
}

以下是转换后的代码(直接复制保存为html,打开浏览器才能使用,个人测试可用):




	正则表达式
	
	
	
	
  function JSONToExcelConvertor(fileName, jsonData) {
        var json = jsonData;
        var excel = '';
        // style中的内容:mso-number-format:General:设置单元格格式为文本,这样可以保证我们的数据一定是原样
        for (var name in json) {
            // 每次循环把每对儿键值的内容放在同一行上
            excel += "';
            for (var i in json[name]){      // 这个i是数据的下标
                accountNumber = json[name][i]   // 拿到号码
                excel += "';
                // 每个号码放置到一个单元格,
            }
            excel += "";   // 一行结束
        }
        //table结束
        excel += "
" + name + '" + accountNumber + '
"; var excelFile = ""; excelFile += ''; excelFile += ''; excelFile += ""; excelFile += ""; excelFile += ""; excelFile += ""; excelFile += excel; //将table 拼接 excelFile += ""; excelFile += ""; var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile); // 给我们上面格式出来的内容设置一个URI(统一资源标志符) var link = document.createElement("a"); //创建a标签 link.href = uri; // 把上文解析出来的链接赋值给上面创建的a标签 link.style = "visibility:hidden"; //设置为不可见,当然设置也可以,看个人喜好 link.download = fileName + ".xls";//指定文件名和文件后缀格式 // 不可以改为 xlsx格式,因为我们这个格式化是按照格式写出来的,而真正的excel文件格式很麻烦 // 如果打不开,查看这个文件属性是否被锁定了,解除锁定即可。 document.body.appendChild(link); //追加a标签到html内部 // 当然不放也能点击,但是为了保险起见,还是放一下 link.click(); // 点击我们刚刚创建的a标签 document.body.removeChild(link); // 把刚刚创建的a标签删除了 } $(function(){ var json ={ "--普通人--0--的大号--2019-10-20 09:29:14--Chuckie": ["72447305"], "--普通人--0--的大号 的第二条--2019-10-20 11:08:37--Chuckie": ["72447305"], "--学生--5--QQ号,新增的--2019-10-22 14:32:57 .09683--Chuckie": ["72447305"], "--好人--5--QQ号,新增的--2019-10-22 14:32:57.09683--Chuckie": ["72447305"], "--周二测试--0--2019年10月22测试--2019-10-22 15:38:46.37403--Chuckie": ["72447305", "267525217", "123321", "123456", "12345" ], "--普通人--0--小号--2019-10-20 11:08:55--Chuckie": ["267525217"] } // 如果大家的是字符串,就把下面两行解除注释,然后取控制台对比数据格式是否一致 // json = JSON.parse(json); // console.log(json) JSONToExcelConvertor("json1",json); })

这是结果的屏幕截图: