2
一個字符串包含用逗號或空格分隔的一些單詞。使用PHP,我想選擇最少有4個字符(a-Z,0-9, - ,_,#)的前三個單詞。 例如選擇以逗號分隔的單詞並使用PHP
$words = aa, one, ab%c, four, five six#
如何選擇 '四', '十二五',六#? (可能與每個?)
一個字符串包含用逗號或空格分隔的一些單詞。使用PHP,我想選擇最少有4個字符(a-Z,0-9, - ,_,#)的前三個單詞。 例如選擇以逗號分隔的單詞並使用PHP
$words = aa, one, ab%c, four, five six#
如何選擇 '四', '十二五',六#? (可能與每個?)
如果您對允許的字符沒有嚴格的要求,Dalen的建議將運行得更快。但是,自從你提到角色需求以來,這是一個正則表達式解決方案
$words = 'aa, one, ab%c, four, five six#';
preg_match_all('/([a-z0-9_#-]{4,})/i', $words, $matches);
print_r($matches);
而你只需要在Dalen的回答之後刪除你想要的數組。
//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);
這不會檢查的字符,只是字的長度。 您需要使用正則表達式編輯條件
這是正確的答案 – Dalen 2011-02-19 00:31:19