我有这样的字符串:
第001课:完成
我想只获取数字部分,在本例中为001
。
我试过了:
$str = the_title();
preg_match_all('!\d+!', $str, $matches);
$number = implode(' ', $matches[0]);
echo $number;
但echo $number
再次输出整个字符串:Lesson 001: Complete
如何正确地做到这一点?
答案 0 :(得分:5)
您可以使用filter_var
并清理字符串以仅包含整数。
$s = "Lesson 001: Complete";
echo filter_var($s, FILTER_SANITIZE_NUMBER_INT);
您可以使用正则表达式仅匹配整数。
$s = "Lesson 001: Complete";
preg_match("/([0-9]+)/", $s, $matches);
echo $matches[1];
答案 1 :(得分:1)
您可以尝试使用/\d+/
$str = the_title();
preg_match_all('/\d+/', $str, $matches);
echo $matches[0];