我有一个包含70000多条记录的数据库,其主键值从1位数开始.
所以我希望用户必须键入nm0000001而不是1在url.And在代码部分我必须丢弃其余的值,除了1.
但我的问题是我希望这种类型的东西在字符串中有9个字母,模式是这样的
1 - nm0000001
9 - nm0000009
10 - nm0000010
2020 - nm0002020
Run Code Online (Sandbox Code Playgroud)
从上面的模式我只想要像1,9,10,2020PHP中的数字.
这里:
$i = (int)substr($input, 2);
Run Code Online (Sandbox Code Playgroud)
根本没有理由使用正则表达式.
无论如何,如果你坚持使用正则表达式,那么:
$input = 'nm0002020';
preg_match('~0*(\d+)$~', $input, $matches);
var_dump($matches[1]);
Run Code Online (Sandbox Code Playgroud)