为了账号安全,请及时绑定邮箱和手机立即绑定

strip_tags + html 实体只获取数字

strip_tags + html 实体只获取数字

PHP
慕村225694 2021-08-28 15:37:22
我想从这个字符串中删除除金额以外的所有内容:<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">&#8362;</span>700.00</span>我试过:strip_tags( $total_price_paid ); - 不够。strip_tags( html_entity_decode( $total_price_paid ) ); - 它将实体解码为一个符号,之后我尝试了 preg_replace 但它没有用。preg_replace( '/[^0-9]/', '', $value ); - 没有摆脱 html 实体这些都没有获得700.00格式化为浮点数的结果。有人可以帮忙吗?
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您还需要删除用于定义实体的特殊文本片段,因此您至少需要另一遍:


$total_price_paid = strip_tags($total_price_paid);

$total_price_paid = preg_replace("/&#?[a-z0-9]{2,8};/i", "", $total_price_paid); 


查看完整回答
反对 回复 2021-08-28
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

如果你想使用 preg_match 那么你可以这样使用:


$string = '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">&#8362;</span>700.00</span>';


preg_match('/\d+\.\d{1,2}/', $string, $matches);


echo $matches[0]; // 700.00


查看完整回答
反对 回复 2021-08-28
?
烙印99

TA贡献1829条经验 获得超13个赞

$str = '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">₪</span>700.00</span>';


echo floatval(substr($str, stripos($str, "</span>")+7, strripos($str, "</span>")+7));



查看完整回答
反对 回复 2021-08-28
  • 3 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信