为了账号安全,请及时绑定邮箱和手机立即绑定

PHP函数只保留az 0-9并用“-”替换空格(包括正则表达式)

PHP函数只保留az 0-9并用“-”替换空格(包括正则表达式)

PHP
胡说叔叔 2023-07-08 22:13:18
我想编写一个PHP函数,只保留az(保留所有字母小写)0-9和“-”,并用“-”替换空格。这是我到目前为止所拥有的:      ...      $s = strtolower($s);      $s = str_replace(' ', '-', $s);      $s = preg_replace("/[^a-z0-9]\-/", "", $s);但我注意到它保留了“?” (问号)我希望它不会保留我没有注意到的其他字符。我怎样才能纠正它以获得预期的结果?(我对正则表达式不太熟悉,尤其是在切换语言/工具时。)
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

$s = strtolower($s);

$s = str_replace(' ', '-', $s);

$s = preg_replace("/[^a-z0-9\-]+/", "", $s);

[] 括号中没有 \- 。看来你也可以使用 - 而不是 \- ,两者都对我有用。


您需要添加搜索字符的乘数。在本例中,我使用了+。


加号表示前一个元素出现一次或多次。


查看完整回答
反对 回复 2023-07-08
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信