preg_replace只显示数字和短划线

时间:2015-04-30 09:57:40

标签: php

我有这个字符串:

Height (cm): 200 - 250 (cm)

我只想显示数字和破折号,以便剩下的字符串为:

200 - 250

这是我的尝试,但我如何加入破折号?

 $item_data = preg_replace("/[^0-9]/", '', $item_data);

2 个答案:

答案 0 :(得分:6)

这应该适合你:

只需添加短划线和空格即可。另外,不要忘记修剪()字符串以摆脱值的开头和结尾处的空格。

$str = "Height (cm): 200 - 250 (cm)";
echo $item_data = trim(preg_replace("/[^0-9 -]/", '', $str));

输出:

200 - 250

答案 1 :(得分:1)

您只缺少-。将其添加到模式中。试试 -

$item_data = preg_replace("/[^0-9 \-]/", '', $item_data);