如何检查PHP中是否有多个空格或开头有空格


  1. Hello World
  2. Hello World
  3. hello world

    或者如果开头有空格
  4. Hello World

如果$q有正常值,但我从搜索输入获得$q值所以除了情况1,它不起作用

$q = Input::get('q');
if(preg_match("/^s+/", $q) || preg_match("/s{2,}/", $q)) {
        echo 'Found Spaces';    
}

$q = $_GET['q'];代替Input::get('q');
所以你的代码变成:

   $q = $_GET['q'];
    
    if(preg_match("/^s+/", $q) || preg_match("/s{2,}/", $q)) {
            echo 'Found Spaces';    
    }
if(preg_match("/^s+/", $q) || preg_match("/s{2,}/", $q))
    {
       
    }
 
/s+/g
  • s匹配空格
  • +说至少一个。
  • g全局标记,所有匹配。

您可以使用一个调用preg_match和一个备选|来检查这两个场景。

由于s也可以匹配换行符,您可以使用h来匹配水平空白字符。

^h|hh

Regex演示

$q = Input::get('q');
if(preg_match("/^h|hh/", $q) ) {
    echo 'Found Spaces';
}

您是否尝试过使用PHP trim()函数?使用trim()来删除多余的空白,然后应用更高级的过滤器或您所称的任何东西。如果您想要一个布尔值,只需检查原始字符串是否与修剪字符串不同。文档:https://www.php.net/manual/en/function.trim.php

最新更新