【问题标题】:regex is not working properly - preg_replace or preg_match正则表达式无法正常工作 - preg_replace 或 preg_match
【发布时间】:2013-08-31 15:32:55
【问题描述】:

我有以下正则表达式代码:

$search_query=preg_replace('#[a-z. .a-z]#i', ' ', $_POST['searchquery']);

我的数据库是小写的。我想要的解释是:$search_query 应该允许所有字母不区分大小写和任何空格,但忽略符号和数字。它不应该替换任何东西,因为它区分大小写。它应该处理'search_query'。

我哪里错了...?我的标签是正确的,并且 i=不区分大小写...

输入示例:用户输入“填充”。另一个用户输入“bLaH”。第三个用户输入“BIG”。

【问题讨论】:

  • 在 preg_replace 之后向我们展示一些具有所需输出的输入示例,解释您想要实现的目标。
  • 尝试在你的正则表达式中添加一个^ 作为你的字符类中的第一个字符。 Example
  • [a-z. .a-z] 是一个非常奇怪的正则表达式...[a-z. ] 也会这样做。我认为这几乎与您的意思相反。

标签: php regex preg-replace


【解决方案1】:

'#[^a-z ]#i' 似乎工作得很好。

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 1970-01-01
    • 2012-05-25
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多