将一个字符串拆分为字符数组但是将附近的元音组合在一起

时间:2015-03-16 05:01:12

标签: php arrays string

我一直在寻找解决方案,但无法找到它。我想要像#34;伟大的"并将其转换为以下数组:(g,r,ea,t)。 基本上,我想要将所有元音(a,e,i,o,u,y)组合在一起。如果不是,就像命运"那样,我应该得到(f,a,t,e)。我可以轻松地获得最后一个阵列,但我不知道如何获得第一个阵列。

我一直在考虑做一个foreach循环并使用计数器来检测任何分组的元音,但这似乎不必要地复杂,但我无法找到更快的方式..任何建议?

1 个答案:

答案 0 :(得分:0)

使用preg_split

这样的事情
$word = 'great';
var_dump(preg_split('/([^aeiouy])/i', $word, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY));
//                   ^ split string by none vowels
//                                              ^ but catch none vowels as delimiter