2011-02-19 75 views
2

一個字符串包含用逗號或空格分隔的一些單詞。使用PHP,我想選擇最少有4個字符(a-Z,0-9, - ,_,#)的前三個單詞。 例如選擇以逗號分隔的單詞並使用PHP

$words = aa, one, ab%c, four, five six# 

如何選擇 '四', '十二五',六#? (可能與每個?)

回答

3

如果您對允許的字符沒有嚴格的要求,Dalen的建議將運行得更快。但是,自從你提到角色需求以來,這是一個正則表達式解決方案

$words = 'aa, one, ab%c, four, five six#'; 
preg_match_all('/([a-z0-9_#-]{4,})/i', $words, $matches); 
print_r($matches); 

而你只需要在Dalen的回答之後刪除你想要的數組。

+0

這是正確的答案 – Dalen 2011-02-19 00:31:19

0
//turn string to an array separating words with comma  
    $words = explode(',',$words); 
    $selected = array(); 
    foreach($words AS $word) 
    { 
     //if the word has at least 4 chars put it into selected array 
     if(strlen($word) > 3) 
      array_push($selected,$word); 
    } 

    //get the first 3 words of the selected ones 
    $selected = array_slice($selected, 0, 3); 

這不會檢查的字符,只是字的長度。 您需要使用正則表達式編輯條件

相關問題