PHP正则替换数字

发布网友 发布时间:2022-04-06 03:41

我来回答

4个回答

懂视网 时间:2022-04-06 08:02

php正则替换数字的实现方法:首先创建一个PHP示例文件;然后使用正则表达式“preg_match_all('/(\d+)\.(\d+)/is', $total, $arr);”实现替换字符串中的数字即可。

推荐:《PHP视频教程》

php正则表达式提取字符串中的数字例子

今天开发采集器,用到从字符串里取数字,后来想到了以下用正则表达式来取。

用正则

代码如下

$str = ereg_replace(‘[^0-9]‘,”,$str);和
$str = preg_replace( ‘/[^\d]/ ‘, ‘ ‘,$str);

例子

代码如下

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 '';
}

如果是小数点呢,我们上面办法显然是不正确的,我们可以进行修改

代码如下

 $regexp = '/(\d+)\.(\d+)/is';
$total = "42.234 EUR 53.218 AUD CAD97.1 311.151 MYR 125.042 NZD GBP84.270 SGD60.227 USD134.400";
preg_match_all('/(\d+)\.(\d+)/is', $total, $arr);
var_export($arr);
 ?>

结果是我们相要的哦,不信你去试一下吧。

热心网友 时间:2022-04-06 05:10

你这是一行N列的表格,可以用数组来表示td中的内容,然后用foreach遍历数组用number_format函数格式化

热心网友 时间:2022-04-06 06:28

发现隔开数据的几个都是“</td><td>”,可以依据此进行拆分为数组。
explode();
再foreach遍历数据,不是正确的数据直接丢掉,吧有用的数据来四舍五入这些都可以,再存到新数组中。
最后你可以实现打印出新的表格中!

热心网友 时间:2022-04-06 08:03

用四舍五入的保留方式
<?php
$t='<tr align="center><td>7222.4</td><td></td><td></td><td>20</td><td>60.274930728039</td><td>380.27493072804</td><td>8.4</td><td>6850.525069271359</td><td>0.53</td><td>6849.995069271359</td></tr>';
function replaceNum($m){
return $m[1].sprintf('%.2f',round($m[2],2)).$m[4];
}
$t=preg_replace_callback('/(<td>)(\d+(\.\d+)?)(<\/td>)/','replaceNum',$t);
var_mp($t);
==========
string '<tr align="center><td>7222.40</td><td></td><td></td><td>20.00</td><td>60.27</td><td>380.27</td><td>8.40</td><td>6850.53</td><td>0.53</td><td>6850.00</td></tr>' (length=158)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com