Algo así dices?
Código PHP:
$valor_ant = "";
for($i=0;$i<14;$i++){
$valor = ExtraerCadena ($cadena);
if($valor_ant == $valor){
$valor = ExtraerCadena ($cadena);
}
echo "<br>" . $valor;
$valor_ant = $valor;
}
No puede ser un IF porque si nuevamente la función dentro del IF devuelve la misma palabra, no se va a volver a pedir otra distinta. En cambio con el while se ejecuta hasta que la función devuelva una palabra distinta de la anterior. (Se ejecuta 0 a n veces)
Para acortar un poco el código se puede usar un do/while
Código PHP:
$valor_ant = "";
for($i=0;$i<14;$i++){
do{
$valor = ExtraerCadena ($cadena);
}while($valor_ant == $valor);
echo "<br>" . $valor;
$valor_ant = $valor;
}