如何只从字符串中获取数字?

时间:2015-04-08 09:54:26

标签: php

我有这样的字符串:

  

第001课:完成

我想只获取数字部分,在本例中为001

我试过了:

  $str = the_title();
  preg_match_all('!\d+!', $str, $matches);
  $number = implode(' ', $matches[0]);
  echo $number;

echo $number再次输出整个字符串:Lesson 001: Complete

如何正确地做到这一点?

2 个答案:

答案 0 :(得分:5)

filter_var

您可以使用filter_var并清理字符串以仅包含整数。

$s = "Lesson 001: Complete";
echo filter_var($s, FILTER_SANITIZE_NUMBER_INT);

https://eval.in/309989

的preg_match

您可以使用正则表达式仅匹配整数。

$s = "Lesson 001: Complete";
preg_match("/([0-9]+)/", $s, $matches);
echo $matches[1];

https://eval.in/309994

答案 1 :(得分:1)

您可以尝试使用/\d+/

$str = the_title();
preg_match_all('/\d+/', $str, $matches);
echo $matches[0];