2016-02-05 71 views
1

我有一个字符串,我想只得到数字女巫之间5和7图表。 这里我的问题:PHP preg_replace only numbers

$string = "Test 1 97779 test"; 
if(strlen(preg_replace("/[^0-9]/", "", $string)) >= 5 && strlen(preg_replace("/[^0-9]/", "", $parts[7])) <= 7) { 
    $var = preg_replace("/[^\d-]+/", "", $string); 
} 

结果为:19779,但我只想要97779. 如果有人有任何建议,我会很高兴。提前致谢。

回答

3

你的朋友是preg_match

if(preg_match('/\b\d{5,7}\b/', $str, $out)) 
    $var = $out[0]; 
  • \b匹配5至7位数\d

See demo at eval.in

+0

上帝保佑你们之间的word boundary

  • \d{5,7},我会送你啤酒!谢谢你,你太棒了! :) – diank

  • +0

    @diank干杯! :D –

    +0

    一个小问题,如果我可以得到$ string =“Tes97779 test”; – diank