本文给大家介绍的内容是关于如何在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请直接跳到旁边)。
那么问题来了:如何保存呢?
先贴一下代码:
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格式不同,你可以根据我的代码自行更改,很简单,我将详细介绍这段代码):
// 下面是我的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 += "" + name + ' ';
for (var i in json[name]){ // 这个i是数据的下标
accountNumber = json[name][i] // 拿到号码
excel += "" + accountNumber + ' ';
// 每个号码放置到一个单元格,
}
excel += " "; // 一行结束
}
//table结束
excel += "
";
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);
})
这是结果的屏幕截图:
发表评论