PHP/Zend:如何从字符串中删除所有字符并仅保留数字
我只想保留数字并从变量中删除所有字符。
例如:
input: +012-(34).56.(ASD)+:"{}|78*9
output: 0123456789
I want to keep only numbers and remove all characters from a variable.
For example:
input: +012-(34).56.(ASD)+:"{}|78*9
output: 0123456789
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一般的做法:
输出:
This is how to do that generically:
Output:
使用 Zend_Filter_Digits
通过 Zend_Filter 进行静态调用的示例:
Digits 实例的示例
在内部,过滤器将使用
preg_replace
来处理输入字符串。根据是否在启用 UTF8 和 Unicode 的情况下编译正则表达式引擎,将使用以下模式之一:[^0-9]
- 如果禁用 Unicode,则进行过滤[^[:digit: ]]
- 过滤带 mbstring 的值[\p{^N}]
- 过滤不带 mbstring 的值请参阅 http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Filter/数字.php
With Zend_Filter_Digits
Example with static call through Zend_Filter:
Example with Digits instance
Internally, the filter will use
preg_replace
to process the input string. Depending on if the Regex Engine is compiled with UTF8 and Unicode enabled, one of these patterns will be used:[^0-9]
- Filter if Unicode is disabled[^[:digit:]]
- Filter for the value with mbstring[\p{^N}]
- Filter for the value without mbstringSee http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Filter/Digits.php