PHP - 从数字中删除文本单位



我在 php 文件中有以下行,它抓取一个值并将其作为 jQuery 变量返回:

var HeaderWrapperHeightNEW = <?php if(get_theme_mod('header_image_full_size') != '1'){ echo get_theme_mod('header_height');}?>;

我的问题是有时返回的结果后面有一个字母单位,例如 600px 或 50% - 我只需要它来回显数字而不是单位。这可能做到吗?我该怎么做?

你可以

使用 PHP 函数 floatval():

<?php
$str = '-10.5px';
$str = floatval($str);
echo $str; // -10.5
?>

您还可以使用类型转换:

<?php
$str = '-10.5px';
$str = (float)$str;
echo $str; // -10.5
?>

注意:

  • 它还处理减号和浮点数。'10px'仍然会返回只是10,但是一个浮动。
  • 如果只应返回整数,请改用$str = (int)$str;
  • 任何内容都不应在值之前。 在这两种情况下,$str = 'margin: -10.5px';都会返回0

这将清除字符串中的所有非数字:

string_with_units.replace(/[^-d.]/g, '');

最新更新