字符串包含由逗号或空格分隔的一些单词。使用PHP,我想选择前三个最少有4个字符的单词(a-Z,0-9, - ,_,#)。 例如
$words = aa, one, ab%c, four, five six#
如何选择'四','五',六#? (可能与每个?)
答案 0 :(得分:3)
$words = 'aa, one, ab%c, four, five six#';
preg_match_all('/([a-z0-9_#-]{4,})/i', $words, $matches);
print_r($matches);
在Dalen的回答中,你只需要从阵列中删除你想要的东西。
答案 1 :(得分: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);
这不会检查字符,只是单词的长度。 你需要用正则表达式编辑条件