Это может дать вам некоторые идеи ...
$replacement = '*';
$string = 'super,cali,fragil,istic,expi,alido,cious';
echo $string.'<br />';
$vowels = array('a', 'e', 'i', 'o', 'u');
$words = explode(',', $string);
foreach($words as $word_key => $word)
{
$word = strrev($word);
$chars = str_split($word);
foreach($chars as $char_key => $char)
{
if(in_array($char, $vowels))
{
$word[$char_key] = $replacement;
$words[$word_key] = strrev($word);
continue(2);
}
}
}
$new_str = implode(',', $words);
echo $new_str;die;
отредактировано для использования isset () вместо in_array () ...
$replacement = '*';
$string = 'super,cali,fragil,istic,expi,alido,cious';
echo $string.'<br />';
$vowels = array(
'a' => 1,
'e' => 1,
'i' => 1,
'o' => 1,
'u' => 1
);
$words = explode(',', $string);
foreach($words as $word_key => $word)
{
$word = strrev($word);
$chars = str_split($word);
foreach($chars as $char_key => $char)
{
if(isset($vowels[$char]))
{
$word[$char_key] = $replacement;
$words[$word_key] = strrev($word);
continue(2);
}
}
}
$new_str = implode(',', $words);
echo $new_str;die;