Php 形成多个空格,只使用字母

Php 形成多个空格,只使用字母,php,forms,Php,Forms,我有一个表格,我想输入一个名字。我希望字段只包含字母,不包含数字。另外,当用户输入类似John Doe的内容时,我希望它仅用一个空格分隔这两个单词。我不确定这在php中是如何实现的。这将只允许传递ascii名称并正确分割输入: <label for="first_name">* First Name </label> <input type="text" name="first_name" maxlength="64" value=<?php echo f

我有一个表格,我想输入一个名字。我希望字段只包含字母,不包含数字。另外,当用户输入类似John Doe的内容时,我希望它仅用一个空格分隔这两个单词。我不确定这在php中是如何实现的。

这将只允许传递ascii名称并正确分割输入:

<label for="first_name">* First Name </label> 

<input type="text" name="first_name" maxlength="64" value=<?php echo formatPhone(clean_input($_POST['first_name']); ?>>
if (preg_match("~^([A-Z][a-z]+\s*)+$~gm", $value)) {
    // valid

    $array_of_names = preg_split("~\s+~gm", $value);
    // or
    $normalized_name = preg_replace("~\s+~", " ", trim($value));
}