如何删除除字母数字、下划线和破折号之外的所有字符?
我不是正则表达式专家:( 我试图从字符串中删除除字母数字、下划线和破折号之外的所有字符。 这是正确的语法吗?:
preg_replace("/[^a-z0-9_-]+/i", "", $string);
I'm not an expert with regex:(
I'm trying to to strip all characters from the string except for alpanumeric and underscore and dash.
Is this the correct syntax?:
preg_replace("/[^a-z0-9_-]+/i", "", $string);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,但可以稍微优化一下:
\w
匹配字母数字字符和下划线。如果您的语言环境允许,这还有一个额外的优点,那就是允许重音字符。Yes, but it can be optimised slightly:
\w
matches alphanumeric characters and underscores. This has the added advantage of allowing accented characters if your locale allows.你所拥有的看起来会起作用。您可能需要添加空格,因为它们不是字母数字字符:
What you have looks like it will work. You may want to add spaces since they're not an alphanumeric character:
是的。 :)
http://codepad.org/lkJTRP0P
Yes. :)
http://codepad.org/lkJTRP0P