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

ale*_*nco -2 php

我有这样的字符串:

第001课:完成

在这种情况下,我只想获得数字部分001.

我试过这个:

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

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

怎么做到这一点?

ʰᵈˑ*_*ʰᵈˑ 5

filter_var

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

$s = "Lesson 001: Complete";
echo filter_var($s, FILTER_SANITIZE_NUMBER_INT);
Run Code Online (Sandbox Code Playgroud)

https://eval.in/309989

的preg_match

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

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

https://eval.in/309994