检查字符串在每个单词之间是否有多于1个空格,如果是,则返回否定字符串

时间:2017-01-22 18:54:48

标签: php string space

我有以下字符串:

$name = "John  Lucas";

如果$name每个单词之间的空格间隔超过1,则我想提出一个条件,然后返回 false

有关如何做到的任何想法?

更新示例:

<input name="name" type="text"/> //example
<?php
    $name = $_REQUEST['name'];
    if ( $name has more than 2 spaces between each word ) {
        echo 'FALSE';
    }
?>

1 个答案:

答案 0 :(得分:1)

  

如果$ name在每个单词之间有超过1个空格,则返回false。

使用preg_match函数的解决方案:

function hasSingleSpaces($str) {
    return (bool) !preg_match("/\w+\s{2,}(?=\w+)/", $str);
}

var_dump(hasSingleSpaces("John     Lucas"));    // false
var_dump(hasSingleSpaces("John Lucas  hello")); // false
var_dump(hasSingleSpaces("John Lucas hello"));  // true