2012-02-26 60 views
0
<label for="first_name">* First Name </label> 

<input type="text" name="first_name" maxlength="64" value=<?php echo formatPhone(clean_input($_POST['first_name']); ?>> 

我有一個表單,我想輸入名字。我希望字段只能使用字母(無數字)。當用戶輸入像John Doe這樣的由多個空白分隔的東西時,我希望它只用一個空格分隔這兩個詞。我不知道這是如何在PHP中完成的。形式修剪多個空格,並只採用字母

+0

了preg_replace(),看看它 – 2012-02-26 19:15:40

回答

0

這將讓只傳遞ASCII名稱和適當拆分輸入:

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)); 
}