СПЕЦІАЛЬНО для вибіркового рядка ОП, оскільки кожна підрядка, яка повинна відповідати, - це одне слово, ви можете використовувати str_word_count () .
Код: ( Демо )
$str = ' red, green, blue ,orange ';
var_export(str_word_count($str,1)); // 1 means return all words in an indexed array
Вихід:
array (
0 => 'red',
1 => 'green',
2 => 'blue',
3 => 'orange',
)
Це також можна адаптувати для підрядів, що перебувають за межами літер (та деяких дефісів та апостроф - якщо ви читаєте тонкий шрифт), додаючи необхідні символи до маски символів / 3-го параметра.
Код: ( Демо )
$str = " , Number1 , 234, 0 ,4heaven's-sake , ";
var_export(str_word_count($str,1,'0..9'));
Вихід:
array (
0 => 'Number1',
1 => '234',
2 => '0',
3 => '4heaven\'s-sake',
)
Знову ж таки, я дуже вузько ставлюсь до цього питання через зразок рядка, але це дасть той самий бажаний вихід:
Код: ( Демо )
$str = ' red, green, blue ,orange ';
var_export(preg_match_all('/[^, ]+/',$str,$out)?$out[0]:'fail');