bueno tu forma en realidad seria muy poco efectiva ya que haria un span por cada letra.. como te dije yo hace un span por agrupacion de caracteres...
de todas formas el metodo de recorrer caracter por caracter seria algo asi
Código PHP:
Ver original<?php
$cadena = "XOXOXOXOXO";
for($x = 0; $x < $long; ++$x){
switch($cadena{$x}){
case "X":
echo "<span style='color:red'>X</span>";
break;
case "O":
echo "<span style='color:green'>O</span>";
break;
default:
echo $cadena{$x};
break;
}
}
?>