2013-06-21 61 views
0

現在我要檢查,如果該文本框中包含一個單詞或兩個,例如PHP-如何檢查文本框是否包含一個或兩個字?

if ($_POST['mytext'] == two words){ 
echo "That is Perfect"; 
} else{ 
echo "We don't accept this"; 
} 

,我試圖

if ($_POST['mytext'] > 1){ 
echo "That is Perfect"; 
} else{ 
echo "We don't accept this"; 
} 

,並沒有奏效

那我是什麼意思所以如何做到這一點? 希望找到一種方法來做到這一點。

感謝

+0

你能爆炸的空間內容,並計算所得數組中元素的個數? – andrewsi

+0

單詞如何分離?如果只是空格,使用'explode',否則你不得不看'preg_split'。 – jeroen

+2

不知怎的,我不想想到什麼過程讓你認爲PHP中的'> 1'會計算字符串中的單詞,而不是更正常的「大於1」的比較結果... –

回答

0

如果定義兩個詞「一些字符後跟一個空格,接着是一些字符」那麼你可以這樣做:

$mytext = $_POST["mytext"]; 
$parts = explode(" ", $mytext); 
if (count($parts) !== 2) { 
    throw new Exception("too many or too little!"); 
} 
if (strlen($parts[0]) === 0 || strlen($parts[1]) === 0) { 
    throw new Exception("not enough characters!"); 
} 

請記住,這允許一個字符串如"@ !"

+0

很棒! –

0

使用str_word_count()

if (str_word_count($_POST['mytext']) > 1){ 
    echo "That is Perfect"; 
} else{ 
    echo "We don't accept this"; 
} 
0

您可以使用

`substr_count('some text', ' '); 

它將返回的空間數量,。

+0

這有什麼用?那麼'「A」'? – 2013-06-21 16:45:43

0

試試這個

$text= preg_split(" ",$_POST['mytext']); 

    if (count($text) > 1){ 
    echo "That is Perfect"; 
    } else{ 
     echo "We don't accept this"; 
    } 
+0

非常感謝您的幫助:D –

+0

很高興爲您效勞:) –

相關問題