gpt4 book ai didi

php - 简单的 php preg_match 对我不起作用

转载 作者:行者123 更新时间:2023-12-04 16:26:58 25 4
gpt4 key购买 nike

我在谷歌上搜索并查看了很多关于这个主题的主题,但没有人为我回答这个问题。我什至复制了几个不同的过滤器字符串,它们做同样的事情来做我的简单验证。他们都在 www.functions-online.com/preg_match.htm 上工作,但没有一个在我的 if() 语句中工作。

PHP版本。 5.3.3
我的代码只允许字母数字和空格:

  $myString = 'My Terrific Game';
if (!preg_match('/^[a-z0-9\s]+$/i', $myString)) { "$errorMessage }

我什至将过滤器减少到 '/^[a-z]+$/' 并将测试字符串减少到 'mytarrificgame',它仍然返回零。就好像 preg_match() 根本不起作用一样。

有人有什么建议吗?

最佳答案

你需要纠正的一些事情:

  • 您在 "$errorMessage 中有未结束的报价.应该是 $errorMessage"$errorMessage" .
  • 那里没有命令。如果要打印值,请使用 echo $errorMessage .
  • 那个变量是在代码中的任何地方设置的吗?

  • 这应该工作
    if (!preg_match('/^[a-z0-9\s]+$/i', $myString)) { echo $errorMessage; }

    或者,如果您考虑一下,仅匹配允许的字符之外的 1 个字符就足够了。

    代码:
    $myString = 'My Terrific Game';
    $errorMessage = 'ERROR: Unallowed character';

    if (preg_match('/[^a-z0-9\s]/i', $myString)) {
    echo $errorMessage;
    } else {
    echo 'Valid input';
    }

    ideone Demo

    关于php - 简单的 php preg_match 对我不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877441/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com