【问题标题】:Php - remove text units from a numberPhp - 从数字中删除文本单位
【发布时间】:2015-01-20 14:27:44
【问题描述】:

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

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

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

【问题讨论】:

标签: php jquery string replace


【解决方案1】:

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

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

【讨论】:

  • 这发生在 JavaScript 端,而不是 PHP。在 PHP 中,使用 floatvalintval 等函数从字符串中解析浮点数或整数。
【解决方案2】:

你可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多