Scusa, è da poco che uso ereg_replace e co.
Ma potresti fare così?
Codice PHP:
<?
$stringa 
"kikndiiiiii [i]kekekeke - asd[/i] keklll [i]hahahah[/i]";
if(
ereg("[i](.+)[/i]",$stringa,$sottostringa)) {
foreach(
$sottostringa as $occorrenza) {
echo 
$occorrenza;
}
}
?>
EDIT: Ok non funzia